1
我有一个应用程序,允许通过拖放同时上传文件。此应用程序目前:同步文件上传返回403禁止与nginx和php-fpm
- 它有3个版本的实例本地,分段,生产。
- 运行
php 5.6
对nginx
w/php-fpm
- 建立在CakePhp2上。
这是我遇到的问题:
- 我上传1个图像,1成功,一切正常。
- 我上传2张图片,1次成功,第二次上传请求返回403。
- 我上传3+影像,1成功,403将返回所有其他请求,用户退出应用程序(会话过期)
这种情况随时有多个兼职。他们不必上传文件。
此功能适用于除暂存服务器以外的所有服务器。本地开发机器和生产箱没有这个问题。
文件通过拖放到页面上传。每个文件都通过ajax在单独的请求中上传。
大小并不重要小图像失败以及较大的图像。
我正在寻找环境之间的错误匹配配置参数,但差异尚不明显。任何想法我应该检查?
我nginx的站点配置:
server {
listen *:443 ssl;
server_name stagingsite.com ;
ssl on;
ssl_certificate /site.crt;
ssl_certificate_key /site.key;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM- SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384: ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256- SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES- CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256: AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:! MD5:!PSK:!RC4";
ssl_prefer_server_ciphers on;
client_max_body_size 256m;
index index.html index.htm index.php;
access_log /var/log/nginx/site.access.log;
error_log /var/log/nginx/site.error.log;
root /var/www/site/webroot;
location/{
root /site/webroot;
try_files $uri $uri/ /index.php$is_args$args;
autoindex off;
index index.html index.htm index.php;
}
location ~ \.php$ {
set $path_info $fastcgi_path_info;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
try_files $uri $uri/ /index.php$is_args$args;
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $request_filename;
}
sendfile off;
}
你可以检查你的'/ etc/nginx/nginx.conf'并查看'client_max_body_size'是什么? – Darren
我添加了在问题中设置参数的配置文件。 –
您的应用程序可能会返回403响应。 – VBart