我收到这条信息,
Request Entity Too Large
The requested resource
/index.php
does not allow request data with POST requests, or the amount of data provided in the request exceeds the capacity limit.
我设置
php_value post_max_size 50M
php_value upload_max_filesize 50M
在.htaccess
中但没有帮助
如何克服这一点?
谢啦,谢啦
6条答案
按热度按时间mzmfm0qo1#
在您讨论完PHP的
memory_limit
、post_max_size
和upload_max_filesize
之后,我想向您推荐一些与此主题相关的文章,也许其中一篇可以解决这个问题。我发现这篇文章上服务器故障:
https://serverfault.com/questions/79741/php-apache-post-limit/79745#79745
Content-Length
,并引用-"确保您直接连接到Apache,而不是通过代理或反向代理。一些反向代理为请求的最大大小设置了上限,作为一种安全措施。因此,您可能需要检查该值以及Apache日志,以确保没有发生任何其他情况。"sybreon也张贴了这个链接:Apache 413 error problems.
引用文章:
"我使用的是Apache SSL客户端证书,限制为128K,如果必须进行重新协商,较大的POST将失败。
This Bugzilla posting提供了一些线索-您必须将以下内容设置为SSL服务器的默认值,而不仅仅是目录。*
一个家伙在这里说,这个指令的适当设置解决了他的问题。
我希望这些设置中的一个能解决这个问题!
brvekthn2#
对我来说唯一有效的方法是调优SSL缓冲区大小。您可以通过...
...然后重新启动Apache以使更改生效。(可在以下位置找到此文件:http://forum.joomla.org/viewtopic.php?p=2085574)
您还可以使用"Location/"将设置简单地应用于整个VirtualHost:
dddzy1tm3#
我的服务器是Apache。它是mod_security模块,阻止发布大约171 KB的大数据。我在mod_security.conf中做了以下配置
y1aodyip4#
如果已设置PHP中的max_post_upload和max_file_upload,并且Apache2.conf或ModSec配置文件中的LimitRequestBody设置足够高
那么.htaccess文件可能会起作用。
1.转到包含上传php文件的目录(抛出错误的文件或页面)。
2 .创建或编辑.htaccess
3 .编辑或创建一个包含LimitRequestBody 20971520的行。
1.保存. htaccess并设置权限。(644和apache所有者)
1.可能重新启动Apache。
嗒哒。希望修好了。
这个设置只为这个文件夹设置了这个限制-这是避免php和apache中全局设置的一种方法,全局设置会使您面临大数据包/负载DOS攻击。
LimitRequestBody 0为您提供无限的上传。
alen0pnh5#
我挣扎着与这个413 -请求实体太大的问题,为最后一天左右,因为我试图上传勉强大(MB)的图像到服务器。
我的设置是Apache(227)将请求代理到JBoss EAP(6. 4. 20)服务器以访问REST端点。
有两件事对我很有效。
1.使SSLVerifyClient在虚拟主机级别成为必需。这意味着所有资源都需要提供有效的客户端证书才能得到服务。这对我来说不是一个选项,因为除/API外的所有资源都不应受到相互身份验证保护。因此,虽然它起作用,但对我来说不是一个选项。
1.我删除了全局级别的SSLVerifyClient required,并将其保留为“optional '。我只在
<Location /api>...</Location>
上启用了required选项。技巧是只有在达到某个阈值后才进行SSL重新协商-这将是我们想要的上传文件大小。1.所以,最后我不得不在特定的LocationMatch上启用“SSLRenegBufferSize”设置,如下所示:
<LocationMatch ^/api/v1/path/(.*)/to/(.*)/resource/endpoint$> SSLRenegBufferSize 5242880 #allow upto 5MB for files to come through </LocationMatch>
(.*)在上面的例子中表示我的路径参数在端点。希望这有帮助。
qyzbxkaa6#
在php.ini中提高了PHP的memory_limit,post_max_size和upload_max_filesize之后,我仍然遇到了这个问题。
apache2.conf中还需要以下内容:
限制请求主体1000000000
这是针对最大1GB的大小。
文档说0是默认值,这意味着无限制。然而,直到我设置了这个指令,我才能上传大文件。
不要忘记重新启动apache2。