Configuration 请求实体太大

Configuration 请求实体太大,configuration,web-hosting,php,Configuration,Web Hosting,Php,我收到这个信息 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. 我设定 在.htaccess中,但没有帮助 如何克服这个问题 在您完成PHP的提出之后,谢谢您,我想向您推荐一些与该主

我收到这个信息

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. 
我设定

.htaccess
中,但没有帮助

如何克服这个问题


在您完成PHP的提出之后,谢谢您,我想向您推荐一些与该主题相关的文章,也许其中一篇可以解决这个问题

我在服务器故障上找到此帖子:

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

  • sybreon也发布了此链接:。
    以下内容仅适用于在Apache中打开模块的情况(否则此设置可能导致服务器崩溃)。
    引用文章:
    “我使用的是Apache SSL客户端证书,其限制为128K,如果必须进行重新协商,则较大的POST将失败。
    有线索-您必须为SSL服务器设置以下默认值,而不仅仅是目录

    否则,它将强制进行某种形式的重新协商,并以413错误失败。”

  • 上一篇文章也提到了该指令。


我希望这些设置之一可以解决这个问题!

对我来说唯一有效的方法就是调整SSL缓冲区的大小。您可以通过以下方式进行设置

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

...
#将此设置为某个大的。。。
SSLRenegbuffer尺寸10486000
...
…然后重新启动Apache以使更改生效。(在以下位置找到此项:)

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

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

# ...
SSLRenegBufferSize 101048600
# ...

我的服务器是Apache。它是一个mod_安全模块,用于防止发布大约171KB的大数据。 我在mod_security.conf中做了以下配置

SecRequestBodyNoFilesLimit 10486000
SecRequestBodyInMemoryLimit 10486000

如果在PHP中设置了max_post_upload和max_file_upload, LimitRequestBody的Apache2.conf或ModSec配置文件中有一个设置,设置得足够高

那么可能一个.htaccess文件就可以工作了

  • 转到包含上载php文件的目录(引发错误的文件或页面)
  • 2.制作或编辑.htaccess

    3.编辑或创建具有 请将主体20971520放入其中

  • 保存.htaccess.Set权限。(644和apache所有者)

  • 可能重新启动apache

  • 塔达,希望能修好

    此设置仅设置此文件夹的限制-这是避免php和apache中的全局设置的一种方法,该设置使您容易受到大数据包/负载DOS攻击


    LimitRequestBody 0为您提供无限制的上载。

    我在最后一天左右一直在努力解决这个413请求实体太大的问题,因为我试图将非常大(以MBs为单位)的图像上载到服务器

    我的设置是apache(227)代理请求到jboss eap(6.4.20)服务器以访问rest端点

    有两件事对我有用

  • 使虚拟主机级别需要SSLVerifyClient。这意味着所有资源都需要提供有效的客户端证书。这不是我的选项,因为除/api之外的所有资源都不应受到相互身份验证保护。因此,尽管它起作用,但这不是我的选项

  • 我删除了全局级别的SSLVERYCLIENT required,并将其保留为“可选”。我仅在
    ..
    上重新启用了required选项。诀窍是只有在达到某个阈值(这将是我们所需的上载文件大小)后才进行SSL重新协商

  • 最后,我不得不在特定的LocationMatch上启用“SSLRenegBufferSize”设置,如下所示:


    SSLRenegBufferSize 5242880#允许文件通过最多5MB


  • (**)在上面的例子中,表示端点中的路径参数。希望这有帮助。

    fwiw,我也有相同的错误。这是因为我使用了POST请求,但没有传递任何字段。内容长度可能为零,这可能表示无限。请注意,这需要在接收端设置。因此,在代理上没有设置。在目标Apache ht上tpd。这个解决方案对我有效,谢谢!这也是我的解决方案!!
    <VirtualHost *:443>
    # ...
        <Location />
            SSLRenegBufferSize 101048600
        </Location>
    # ...
    </VirtualHost>
    
    SecRequestBodyNoFilesLimit 10486000
    SecRequestBodyInMemoryLimit 10486000