后端:414 Request-URI Too Large解决方案

后端:414 Request-URI Too Large解决方案Web项目接口请求会出现414Request-URITooLarge这个错误下面给大家分享一下相关解决办法:一、get请求改为Pos…

大家好,又见面了,我是你们的朋友全栈君。

后端:414 Request-URI Too Large解决方案

Web项目接口请求会出现414 Request-URI Too Large这个错误

           后端:414 Request-URI Too Large解决方案            

下面给大家分享一下相关解决办法:

一、get请求改为Post请求

如果你的web请求是get请求,可以考虑调整为post请求。

get请求:当发送数据时,GET 方法向 URL 添加数据;URL 的长度是受限制的(URL 的最大长度是 2048 个字符)。

post请求:没有限制。

二、调整前端请求参数的逻辑

比如你前台调用后台接口,需要批量操作,可能会传递一个数据集合对象json字符串,这样参数的长度会大大增加。这个时候可以考虑只传递id组成的字符串,然后在后台逻辑处理,根据id字符串查询所需的数据,然后完成相应的编码工作。

三、服务器配置调整

服务器配置调整是最有效的解决方式。服务器配置调整是全局性的,但要根据实际业务需求处理,不能随意把参数长度调整很大,这样也会对系统性能也会有很大的影响。服务器配置调整主要有nginx、tomcat、iis、apache等

3.1 Java项目

tomcat下server.xml文件修改内容:

<Connector 

port=”8080″ 

protocol=”HTTP/1.1″  connectionTimeout=”20000″ redirectPort=”8443″ 

maxHttpHeaderSize=”65536″  URIEncoding=”UTF-8″ />

3.2 PHP项目:

在Apache的 httpd.conf 配置文件中直接追加以下参数:

LimitRequestLine 40940 

LimitRequestFieldSize 40940

3.3  Net项目

在web.config文件中的system.web配置节增加下面语句。

<httpRuntime targetFramework="4.5.1" requestValidationMode="2.0" maxRequestLength="1024000"  executionTimeout= "3600"   />

maxRequestLength设置POST的长度大小。

3.4 nginx配置文件修改内容:

nginx.conf配置文件把这两个缓存加大就行

#请求头总长度大于512k时使用large_client_header_buffers设置的缓存区

client_header_buffer_size 512k;

#large_client_header_buffers 指令参数4为个数,512k为大小,默认是8k。申请4个512k。

large_client_header_buffers 4 512k;重启nginx命令

刷新nginx服务

1、Linux服务器

进入nginx可执行目录sbin下,输入命令./nginx -s reload 即可

cd /usr/local/nginx/sbin/

./nginx -s reload

2、Windows服务器

nginx.exe -s reload

IT技术分享社区

个人博客网站:https://programmerblog.xyz

后端:414 Request-URI Too Large解决方案

文章推荐程序员效率:画流程图常用的工具程序员效率:整理常用的在线笔记软件远程办公:常用的远程协助软件,你都知道吗?51单片机程序下载、ISP及串口基础知识硬件:断路器、接触器、继电器基础知识

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/135296.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • buildroot 树莓派3B+ WiFi

    buildroot 树莓派3B+ WiFi懂的越多,不懂的就越多。

    2022年6月25日
    31
  • Windows宝塔面板彻底卸载_宝塔面板怎么样

    Windows宝塔面板彻底卸载_宝塔面板怎么样宝塔面板安装与卸载

    2022年9月4日
    3
  • 关于集合中一些常考的知识点总结「建议收藏」

    关于集合中一些常考的知识点总结「建议收藏」本章主要总结了集合的一些基础但有重点的知识点,例如他们的底层数据结构以及集合之间的区别,其中HashMap最为重点。集合Java的集合框架中可以分为两大类:第一类是按照单个元素存储的Co

    2022年8月3日
    4
  • Web安全 信息收集 (收集 Web服务器 的重要信息.)

    Web安全 信息收集 (收集 Web服务器 的重要信息.)?“信息收集”会对渗透测试工程师和网络安全工程师具有重大作用:可以帮助工程师们知道主机的存活的主机,主机的系统辨识,服务枚举等。这样工程师就可以执行下一次的工作,比如:对服务器系统进行渗透测试,然后再做出一定的防御。???收集的信息有:目标的真实IP地址,服务器的敏感目录,网站的搭建环境,网站使用的系统,网站防火墙,常用端口信息,目录网站是用什么脚本写得等信息.

    2022年6月29日
    24
  • c语言return的用法函数返回值返回后干嘛_函数可以不返回值吗

    c语言return的用法函数返回值返回后干嘛_函数可以不返回值吗@C语言return的用法详解,C语言函数返回值详解欢迎使用Markdown编辑器你好!这是你第一次使用Markdown编辑器所展示的欢迎页。如果你想学习如何使用Markdown编辑器,可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown

    2022年10月23日
    0
  • 决策树与随机森林(从入门到精通)[通俗易懂]

    决策树(decisiontree)是一种基本的分类与回归方法,本文主要讨论用于分类的决策树。决策树学习通常包括三个步骤:特征选择,决策树的生成和决策树的修剪。而随机森林则是由多个决策树所构成的一种分类器,更准确的说,随机森林是由多个弱分类器组合形成的强分类器。

    2022年4月17日
    40

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号