请求实体太大

2022-08-30 20:57:34

我收到此消息,

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

如何克服这个问题?

谢谢


答案 1

在你完成了PHP的memory_limitpost_max_sizeupload_max_filesize之后,我想向你推荐一些与该主题相关的文章,也许其中一篇可以解决问题。

我在服务器故障上找到这篇文章:
https://serverfault.com/questions/79741/php-apache-post-limit/79745#79745

  • sybreon建议仔细检查,并引用 - “确保您直接连接到Apache,而不是通过代理或反向代理。一些反向代理对请求的最大大小设置了上限,作为一种安全措施。因此,您可能需要检查该内容以及您的Apache日志,以确保没有其他事情发生。Content-Length

  • sybreon也发布了这个链接:Apache 413错误问题
    仅当您在 Apache 中打开了mod_ssl模块时,以下内容才适用。(否则,此设置可能会导致服务器崩溃。
    引用文章:
    “我正在使用Apache SSL客户端证书,其限制为128K,如果必须进行重新协商,则更大的POST将失败。
    这个Bugzilla帖子有线索 - 您必须将以下内容设置为SSL服务器的DEFAULTS,而不仅仅是目录。

    SSLVerifyClient require
    

    否则,它将强制进行某种重新谈判,并失败并出现413错误。

  • 上一篇文章还提到了LimitRequestBody指令。
    一个人在这里说,这个指令的适当设置解决了他的问题

我希望其中一个设置可以解决这个问题!


答案 2

唯一对我有用的是调整SSL缓冲区大小。您可以通过以下方式设置此项...

<Directory /my/blah/blah>
...
  # Set this to something big...
  SSLRenegBufferSize 10486000
...
</Directory>

...然后只需重新启动Apache即可使更改生效。(在以下位置找到此内容:http://forum.joomla.org/viewtopic.php?p=2085574)

您还可以使用“位置/”将设置简单地应用于整个VirtualHost:

<VirtualHost *:443>
# ...
    <Location />
        SSLRenegBufferSize 101048600
    </Location>
# ...
</VirtualHost>

推荐