Obtener proceso de carga a través de Nginx + Unicornio
-
27-10-2019 - |
Pregunta
Estoy usando NGINX para revertir el proxy de mi proceso de unicornio para una aplicación Rails que tengo. Me gustaría poder obtener un estado de progreso (similar a apache-superprogrado-progreso) para cargas de archivo. Traté de usar Nginxhttpuploadprogressmodule Pero /Progress todavía ruta a la aplicación Rails para que eso no funcione. Seguí los pasos en Nginxhttpuploadprogressmodule Así que realmente estoy en un punto de parada aquí.
Solución
Sin ver la configuración exacta que implementó, ni de depuración del registro, es difícil entender lo que puede estar mal.
Te sugiero:
- Compile Nginx con la opción --with-DeBug y active el registro de depuración con la directiva ERROR_LOG.
- Verifique el registro de depuración para la solicitud /progreso y busque el orden de las ubicaciones probadas.
Es muy posible que esté utilizando Try_Files y su ubicación /Progress no se active porque se encuentra después de su ubicación de captura. Puede intentar colocar la ubicación /progreso en la parte superior de su servidor {} Directiva
Otros consejos
Lo estoy usando, que tengan un
location ^~ /progress {
upload_progress_json_output;
report_uploads proxied;
}
sección en el bloque del servidor y funciona bien, Rails nunca ve /progress
.
Muy bien, lo descubrí con la ayuda de ambos (Masterzen y JL). Yo no tuve
location ^~ /progress {
upload_progress_json_output;
report_uploads proxied;
}
pero
location ^~ /progress {
report_uploads proxied;
}
Y el comentario de Masterzen también ayudó como yo
location / {
# blah blah
}
antes del /progreso. ¡¡Muchas gracias chicos!!