Ubuntu 16.04 - Apache 2.4.18 - 请求 URI 太长

Ubuntu 16.04 - Apache 2.4.18 - Request-URI Too Long

我正在尝试从 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。但到目前为止运气不好。

感谢任何帮助。

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

this answer here 开始,您似乎可以将 LimitRequestLineLimitRequestFieldSize 设置为最大 8192 字节或低于(因此不高于)该值的任何值。

And in Apache, if you use that as a webservers, you can limit it to something below the default 8190 bytes, but not to something above it without changing the source code & recompiling.

另请阅读 this question,其中包含有关 url:

的最大长度的更多信息

This is a popular question, and as the original research is ~9 years old I'll try to keep it up to date: As of Nov 2016, the advice still stands. Even though IE11 may possibly accept longer URLs, the ubiquity of older IE installations plus the search engine limitations mean staying under 2000 chars is the best general policy.

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

我也遇到了同样的问题,但通过添加 LimitRequestFieldSize 1000000000 解决了 httpd.conf 文件中的 LimitRequestLine 1000000000 行在正确的

如果您使用的是 CPanel 和 Cloudflare,我就是这样做的:
Home -> Service Configuration -> Apache Configuration -> Include Editor -> Pre VirtualHost Include -> Select 一个 Apache 版本

LimitRequestFieldSize 1048576 限制请求行 1048576

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

我试过使用上面的答案,Cloudflare 说:
400 错误请求 请求 Header 或 Cookie 太大 cloudflare-nginx

所以我不得不降低值。