如何避免这个413错误?
请求实体太大
请求的资源/serverpath/reports.php不允许POST请求中的请求数据,或者请求中提供的数据量超过了容量限制。
位于demo3.website_name端口80 的Apache服务器
因此,请任何人帮助设置php.ini,以及如何设置htaccess以允许覆盖状态
如何在NGINX中修复它?client_max_body_size
要解决此问题,需要增加client_max_body_size指令的值。此指令定义Nginx在HTTP请求中可接受的最大数据量。默认情况下,此值设置为1兆字节,这意味着如果您试图上传大于1兆字节的文件,您将收到错误413:请求实体过大页面。您可以在三个级别插入此指令:
-
在http块中:这将为您的配置中的所有服务器和位置设置指令值
-
在服务器块中:这将为一个特定服务器的所有位置设置指令值
-
在位置块中:这将为特定服务器中的一个特定位置设置指令值
在这个例子中,我将把它插入到我的http块中,并将其设置为500兆字节:
http {
client_max_body_size 500M; # allows file uploads up to 500 megabytes
[...]
}
来源:http://cnedelcu.blogspot.com.ar/2013/09/nginx-error-413-request-entity-too-large.html
尝试在php.ini
中查找以下行,并将其设置为所需的大小:
post_max_size = 25M
然后,您可以在.htaccess
文件中设置它:
php_value post_max_size 25M
在Apache 2.4上,LimitRequestBody
指令也值得一看。它可以按vhost进行配置,并进入<Directory>
部分。
<VirtualHost *:80>
[...]
<Directory "/var/www/public_html">
[...]
LimitRequestBody 33554432
</Directory>
</VirtualHost>
大小值以字节为单位。当我尝试了两个php.ini
最大大小指令,但仍然出现错误时,这最终解决了我的问题。
php.ini
有一个名为post_max_size
的设置,默认情况下设置为8M(至少在Ubuntu上)。
如果您发布了大量数据,请考虑增加该值。
我从react本机应用程序上传文件-大文件,它抛出了提到的错误。我刚刚在位置添加了client_max_body_sizengnix配置中的指令,它开始工作。
ngnix配置路径-/etc/ngnix/sites可用,文件名为默认
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
charset utf-8;
location / {
proxy_pass http://localhost:3015;
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 500M; //<<=== HERE IT IS
}
}
client_max_body_size 500M;它对我有用。