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í.

¿Fue útil?

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:

  1. Compile Nginx con la opción --with-DeBug y active el registro de depuración con la directiva ERROR_LOG.
  2. 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!!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top