Configuré nginx como proxy inverso en mi aplicación node.js para subir archivos con la directiva proxy_pass. Funciona, pero mi problema es que nginx espera que todo el cuerpo del archivo se cargue antes de pasarlo a la corriente ascendente. Esto me causa problemas, porque quiero seguir el progreso de la carga en mi aplicación. ¿Alguna idea de cómo configurar nginx para transmitir el cuerpo del archivo en tiempo real al upstream?archivos nginx carga de transmisión con proxy_pass
Respuesta
No hay manera de que (al menos por ahora). La solicitud completa siempre se almacenará en el búfer antes de que nginx comience a enviarla a una versión anterior. Para rastrear archivos cargados, puede probar el módulo upload progress.
Actualización: en nginx 1.7.11, la directiva proxy_request_buffering está disponible, lo que permite deshabilitar el almacenamiento en búfer de un cuerpo de solicitud. Sin embargo, se debe usar con cuidado, ver los documentos.
el módulo de progreso de carga es excelente, pero estamos usando varios servidores para el procesamiento de carga detrás del balanceo de carga, por lo que siempre hay posibilidades de que la solicitud de actualización de progreso se enrute a otro servidor (incluso con algunos trucos de equilibrio de carga). – bbbonthemoon
Sospecho que:
proxy_buffering off;
es lo que necesita, consulte http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffering
Lo intenté. Lamentablemente, parece que esta directiva solo funciona para el buffer de respuesta (tal como se describe) – bbbonthemoon
Aquí hay un boleto nginx para la transmisión proxy directa de datos de carga http://trac.nginx.org/nginx/ticket/251 con suerte lo implementarán en algún momento =/ – TekTimmy
Tengine (una horquilla desde nginx) admite la carga no búfer configurando proxy_request_buffering en off.
http://tengine.taobao.org/document/http_core.html
Actualizado: en nginx 1.7.11 la directiva proxy_request_buffering está disponible, como se mencionó anteriormente @Maxim Dounin
Incluso si proxy_request_buffering está desactivado, la solicitud aún está almacenada en el búfer. from the doc: "Cuando apaga el proxy_request_buffering o fastcgi_request_buffering, Tengine enviará el cuerpo al backend ya sea que reciba más datos que client_body_postpone_size o que se haya recibido todo el cuerpo de la solicitud". –
- 1. Configurar Nginx con PROXY_PASS
- 2. Nginx PROXY_PASS sin parámetros
- 3. proxy_pass dinámico a $ var con nginx 1.0
- 4. Cómo conservar URL de solicitud con nginx proxy_pass
- 5. múltiples aplicaciones django con nginx proxy_pass y reescritura
- 6. Carga de transmisión de Silverlight
- 7. Nginx proxy_pass a una contraseña protegida en sentido ascendente
- 8. Carga de archivos con SFTP
- 9. Carga de archivos con Backbone
- 10. Carga de archivos con Sinatra
- 11. nginx archivo de índice de carga
- 12. Ejemplo de varias aplicaciones (fastcgi/uwsgi/scgi/proxy_pass) Mojolicious en el mismo host virtual nginx?
- 13. nginx proxy_pass en función de si el método de solicitud es POST, PUT o DELETE
- 14. nginx en PROXY_PASS servidor independiente para múltiples aplicaciones con rieles sub URI de pasajeros independiente en diferentes cajas
- 15. ¿Es posible cambiar el código de estado HTTP devuelto cuando proxy_pass gateway está inactivo en nginx?
- 16. Nginx proxy de archivos en el disco local o S3
- 17. Carga de archivos de gran tamaño con Python/Django
- 18. ¿Cómo se pueden enviar los parámetros de cadena de consulta a través de un proxy_pass con nginx?
- 19. de carga de archivos con Python Mechanize
- 20. Carga de archivos de iPhone con HTML
- 21. Nginx no puede cargar archivos css
- 22. Carga de archivos asíncrona HTML5, la transmisión cargada siempre es inválida
- 23. JSP - Carga de archivos con Apache Commons
- 24. Carga de archivos grandes con WebSocket
- 25. Carga eficiente de archivos grandes con Yesod
- 26. Carga de archivos HTML5 FormData con RubyOnRails
- 27. Carga de archivos con Zend Framework 1.7.4
- 28. carga de archivos con arrastrar soltar
- 29. Carga de archivos múltiples con jQuery
- 30. Carga de archivos FTP con HTTP Proxy
¿Recibió alguna solución para esto? – Sreeraj