J'ai un Hapi.js, Node backend configuré pour accepter les fichiers jusqu'à 20M de mon front-end React qui fonctionne bien pour le téléchargement de gros fichiers en développement sans NGINX. Quand j'inclus NGINX en production, j'obtiens 408 erreurs dans le navigateur et pourtant rien dans le journal des erreurs NGINX.Suspect nginx client_max_body_size ne fonctionne pas sur 408 erreurs
Comme seuls les fichiers de moins de 1 Mo peuvent être téléchargés avec succès, j'ai supposé que le problème était que la taille de client_max_body était de 1 Mo par défaut. Cependant, peu importe où j'augmente cela (c.-à-d. Http, serveur, emplacement), cela n'a aucun effet. Voici ma config NGINX entière.
Je me demande si quelqu'un d'autre a fait l'expérience de cela, ou a une idée pourquoi les erreurs 408 n'apparaissent pas dans le journal? J'apprécierais volontiers de l'aide.
events {
worker_connections 1024;
# multi_accept on;
}
http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
client_header_timeout 3m;
client_body_timeout 3m;
send_timeout 3m;
client_header_buffer_size 1k;
large_client_header_buffers 4 4k;
client_max_body_size 20M;
include /etc/nginx/mime.types;
default_type application/octet-stream;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
gzip on;
gzip_disable "msie6";
server {
listen 80 default_server;
listen [::]:80 default_server;
client_max_body_size 20M;
server_name _;
root /var/www/front;
index index.html index.htm;
location ~* \.(?:manifest|appcache|html?|xml|json)$ {
add_header Access-Control-Allow-Origin *;
expires -1;
client_max_body_size 20M;
}
location ~* \.(?:css|js)$ {
add_header Access-Control-Allow-Origin *;
try_files $uri =404;
expires 1y;
access_log off;
add_header Cache-Control "public";
client_max_body_size 20M;
}
location ~ ^.+\..+$ {
add_header Access-Control-Allow-Origin *;
try_files $uri =404;
client_max_body_size 20M;
}
location/{
add_header Access-Control-Allow-Origin *;
try_files $uri $uri/ /index.html;
client_max_body_size 20M;
}
location /api {
proxy_set_header Access-Control-Allow-Origin *;
proxy_pass http://my-ip-address:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
client_max_body_size 20M;
client_body_buffer_size 128k;
client_body_temp_path /var/nginx/client_body_temp;
proxy_connect_timeout 70;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
proxy_temp_path /var/nginx/proxy_temp;
}
}
}