413 Request Entity Too Large
我知道,这与
client_max_body_size
有关,所以我将此参数设置为30000M
。 location /supercap {
root /media/ss/synology_office/server_Seq-Cap/;
index index.html;
proxy_pass http://api/supercap;
}
location /supercap/pipe {
client_max_body_size 30000M;
client_body_buffer_size 200000k;
proxy_pass http://api/supercap/pipe;
client_body_temp_path /media/ss/synology_office/server_Seq-Cap/tmp_nginx;
}
但是,当整个文件都已上传时,我仍然收到此错误。
#1 楼
修改NGINX配置文件sudo nano /etc/nginx/nginx.conf
搜索此变量:
client_max_body_size
。例如,如果找到它,则将其大小增加到100M。如果它不存在,则可以将其添加到http client_max_body_size 100M;
的内部和末尾,然后重新启动nginx以应用更改。sudo service nginx restart
修改PHP.ini文件的上传限制
并非所有配置都需要此文件,但是您可能还必须修改PHP上载设置以确保不进行任何操作
如果使用PHP5-FPM,请使用以下命令,
sudo nano /etc/php5/fpm/php.ini
如果使用的是PHP7 .0-FPM使用以下命令,
sudo nano /etc/php/7.0/fpm/php.ini
现在逐个查找以下指令
upload_max_filesize
post_max_size
,将其限制增加到100M,默认情况下为8M和2M。
upload_max_filesize = 100M
post_max_size = 100M
最后保存并重新启动PHP。
PHP5-FPM用户使用此,
sudo service php5-fpm restart
PHP7.0-FPM用户使用此,
sudo service php7.0-fpm restart
它将正常工作!!!
评论
为什么在nginx.conf中将100Mb用于client_max_body_size?
–user2979409
16年11月14日在12:10
您可以根据需要输入任何值,但100 mb就足够了
– Sukhjinder Singh
16年11月14日在12:14
但我最多可以上传30Gb文件。
–user2979409
16年11月14日在12:19
查找最大大小的文件,并允许它超过该文件的大小
– Sukhjinder Singh
16年11月14日在12:21
那么为什么client_max_body_size在我的/ location内部不起作用?
–user2979409
16年11月14日在12:23
#2 楼
如果您要上传该大小的文件,则可能应该完全禁用主体大小检查,并使用以下功能:client_max_body_size 0;
#3 楼
相对而言,我不确定您为什么使用http传输那么多数据。我倾向于在ssh上进行大量传输,这使我获得了bzip压缩的传输。但是,如果需要进行可恢复的传输,则可以使用sftp,lftp甚至rsync。这些(或它们的派生或同级兄弟)中的任何一个都能够(如果需要)使用加密的频道,
恢复中断的传输并
压缩传输
/>
尝试通过http上传(如果是https,则为#1)时,只有其中一种是您的选择。
我希望您能研究一下以上或其他几种选择中的一种。
评论
这与问题毫无关系。
– Zenklys
18年7月7日在10:10
因为那里的家伙正在通过HTTP传输Blueray规模的文件,所以它就在那里。如果没有更详细地说明为什么有人想要这样做,我认为最好是通过不成功回答问题来帮助提出问题的人。我承认我对这些细节的无知是一个问题。
–马特·墨菲(Matt Murphy)
18年11月9日在20:56
评论
实际上,您不应该在一个请求中上传该大小。您必须将其划分为多个分区,然后根据请求将它们一一发送。