Quand j'ai mis client_max_body_size 30m;
sans ssl tout fonctionne (les fichiers jusqu'à 30MB sont acceptés). Cependant, lorsque je passe en mode ssl, cette directive est complètement ignorée.
Ma configuration ressemble à (/etx/nginx/conf.d/my-sites.com.conf) :
server {
listen 443 ssl;
server_name my-sites.com;
ssl_certificate /etc/nginx/ssl/my-sites.com/uni_my-sites.com.crt;
ssl_certificate_key /etc/nginx/ssl/my-sites.com/my-sites.com.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
client_max_body_size 30m;
location / {
proxy_pass http://my-backend.com;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
J'ai trouvé plusieurs suggestions ici nginx - client_max_body_size n'a aucun effet mais rien n'a fonctionné. J'ai essayé d'utiliser différentes versions de nginx, j'ai défini client_max_body_size pour tous les blocs : http, serveur, emplacement mais rien ne fonctionne.
J'ai également cherché si c'était un bug de nginx sans résultat.
Existe-t-il une solution pour surmonter ce problème ou suis-je obligé d'utiliser une connexion non-ssl ? Toute suggestion est la bienvenue.
Ma configuration est la suivante :
- AWS EC2 nano instance
- Nginx dans docker (dernière version stable - 1.10.1)
- Un seul hôte virtuel sur une seule adresse IP
Différence par rapport à cette question nginx - client_max_body_size n'a aucun effet cette question est liée au ssl
Edit : J'ai créé un problème dans le wiki de nginx. https://trac.nginx.org/nginx/ticket/1076#ticket