Nginx
Apache
Http
浏览器
Apache配置。您可以通过更改httpd.conf文件中的LimitRequestLine值来修改此限制。注意:如果使用了基于名称的虚拟主机(NameVirtualHost),LimitRequestLine指令放在默认(首先列出)的virtual host(VirtualHost部分)中。配置完以后重新启动服务器。
LimitRequestLine指令说明。LimitRequestLine是设置HTTP请求行(request line)将允许的字节数,也就是说LimitRequestLine指令允许服务器管理员设置客户端HTTP请求行的大小。请求行由HTTP方法,URI和协议版本组成。服务器需要这个值足以容纳其任何资源名称(uri),包括可能在GET请求的查询部分中传递的任何信息。该指令使服务器管理员能够更好地控制异常客户端请求行为,这可能有助于避免攻击。
Nginx配置。首先,找到nginx.conf文件。它通常在/etc/nginx/nginx.conf中找到。然后,在该文件server or http and https部分添加以下内容:large_client_header_buffers 4 16k(这是示例大家可以根据需求去配置)
完成后,请确保保存配置文件并重新启动nginx。一些重启nginx的方法:①service nginx restart②/usr/sbin/nginx -c /etc/nginx/nginx.conf
将GET请求更改为POST请求。请注意,如果您真的遇到这个限制,您不要滥用GET,您应该使用POST来传输这种数据 。如果您查看Apache官网关于LimitRequestLine说明时,您会注意到Apache甚至说“在正常情况下,该值不能从默认值更改”。因此我可以将GET请求更改为POST请求,就不必更改服务器配置了。
将URL地址缩减。将URL地址缩减到服务器可接收的大小。
requests分批。将requests分成批次(将请求分片并发送一批较小的请求),并通过AJAX同时发送,而不是发送一个巨大的请求。