【问题标题】:Ubuntu 16.04 - Apache 2.4.18 - Request-URI Too LongUbuntu 16.04 - Apache 2.4.18 - 请求 URI 太长
【发布时间】:2017-04-07 03:41:51
【问题描述】:

我正在尝试从 Google 图片搜索结果中保存图片,但是当我在查询字符串参数中发送图片的 src 时,会出现以下错误:

Request-URI Too Long 
The requested URL's length exceeds the capacity limit for this server.

Apache/2.4.18 (Ubuntu) Server at 127.0.1.1 Port 80

当我在本地机器上遇到这个错误时,我可以测试你们的任何想法。

注意:我确实在/etc/apache2/apache2.conf 文件中将LimitRequestLineLimitRequestFieldSize 设置为100000。但到目前为止还没有运气。

感谢任何帮助。

【问题讨论】:

    标签: apache ubuntu zend-framework2 limit request-uri


    【解决方案1】:

    请求参数不能有无限长。我的猜测是您在发送图像 src 作为查询参数时达到了最大长度。

    this answer here 看来,您可以将LimitRequestLineLimitRequestFieldSize 设置为最多8192 字节或低于(而不是高于)该值的任何值。

    在 Apache 中,如果您将其用作网络服务器,则可以将其限制为低于默认 8190 字节的内容,但不能限制为高于默认值的内容,而无需更改源代码并重新编译。

    另请阅读this question,其中包含有关您的 url 最大长度的更多信息:

    这是一个受欢迎的问题,由于最初的研究大约有 9 年的历史,我会尽量保持最新:截至 2016 年 11 月,该建议仍然有效。尽管 IE11 可能接受更长的 URL,但旧版 IE 安装的普遍性加上搜索引擎的限制意味着保持在 2000 个字符以下是最好的一般策略。

    换句话说:尽量保持在 2000 个字符以下并使用 POST 发送大量数据...

    【讨论】:

    • 非常有用,因为我没有检查 recompiling of the webserver 所涉及的行,如果数量更大,就像我要求的那样。是的,已经想到了POST,但在我的情况下这是不可能的。至于GET,我将忽略src 值超过2000 的图像。
    • @KunalDethe 很高兴我的回答很有帮助。为什么限制使用GET 而不是POST?你能对此有所了解吗?
    • 我正在构建一个浏览器扩展程序,它应该让我可以选择通过在图像上提供下载按钮来保存图像。但是为了进行下载,它会在 iframe 中加载页面并从查询字符串中获取 src。
    • 假设我有一个 17419 长的 URL。有没有机会让它正常工作?我正在使用 WooCommerce 一次批量编辑大量产品,这对使其正常工作非常有帮助。
    • 是否可以使用 POST 数据将产品数据发送到您的服务器而不是您的 url?在编辑的情况下,我什至可以想象另一种请求方法,如 PATCH 或 PUT,但概念是相同的;在请求对象中发送数据,而不是使用 url。
    【解决方案2】:

    我也遇到了同样的问题,但通过添加 LimitRequestFieldSize 1000000000 解决了 正确

    下 httpd.conf 文件中的 LimitRequestLine 1000000000 行

    【讨论】:

      【解决方案3】:

      如果您使用的是 CPanel 和 Cloudflare,我就是这样做的:
      Home -> 服务配置 -> Apache 配置 -> 包含编辑器 -> Pre VirtualHost Include -> 选择一个 Apache 版本

      LimitRequestFieldSize 1048576 LimitRequestLine 1048576

      按更新,然后按重新启动 Apache。

      我尝试使用上述答案,Cloudflare 说:
      400 错误请求 请求标头或 Cookie 太大 cloudflare-nginx

      所以我不得不降低值。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-06-02
        • 2017-07-06
        • 2012-09-04
        • 2016-11-27
        • 1970-01-01
        • 2022-06-15
        • 1970-01-01
        相关资源
        最近更新 更多