Tengo un buen host virtual para nginx que funciona bien sin usar el módulo de carga nginx.
Cuando agrego el progreso de carga en este mi solicitud de carga. ¿Como puedo resolver esto? Necesito cargar mis archivos usando /?r=upload
o /upload?foo=bar
y rastrear los datos de progreso de carga usando /progress
o algo más.
# static9-localhost.sweb
server {
# upload limit
# upload_limit_rate 10240;
# request size limitation
client_max_body_size 500m;
client_body_buffer_size 64k;
# document root
root /path/to/webapp/static/public/;
# index file
index index.php;
# server name
server_name static9-localhost.sweb;
# rewrite rules
rewrite "^/thumbnail/([A-Za-z0-9]{12})/(.*)/.*$" /index.php?r=thb&unique=$1&prm=$2 last;
# /
location @frontcontroller {
# expires
expires max;
# disable etag
if_modified_since off;
add_header 'Last-Modified' '';
# mvc rewrite
try_files $uri $uri/ /index.php?$uri&$args;
}
# upload progress
location /upload {
upload_pass @frontcontroller;
track_uploads proxied 600s;
}
# progress
location = /progress {
report_uploads proxied;
}
# error pages
error_page 404 /index.php?r=404;
error_page 403 /index.php?r=403;
error_page 500 501 502 503 504 /index.php?r=500;
# php5-fpm
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9003;
fastcgi_index index.php;
fastcgi_read_timeout 300;
include fastcgi_params;
}
# logs
access_log /path/to/webapp/logs/static_access.log;
error_log /path/to/webapp/logs/static_error.log;
}
Para el host virtual anterior, mi solicitud de carga se /upload/?X-Progress-ID=QLiFKnG5A81K
congela. ¿Cuál es el problema?
Necesito una solicitud /?r=blahblah
para que funcione bien también si envío mi archivo de carga para /upload
usar /?r=upload
.
upload_progress <zone_name> <zone_size>
directiva en ellocation /upload
bloque, que permitió el seguimiento del progreso de carga, como se indica en la documentación de nginx ( wiki.nginx.org/HttpUploadProgressModule#upload_progress ).Respuestas:
Miré a través de mis configuraciones para ver un ejemplo de trabajo. Uso módulos de carga y progreso de carga de tal manera:
También mire la pestaña Firebug Net. Mire si su código obtiene una salida json correcta. Tal vez el problema está realmente en el lado del cliente.
fuente