当前位置: 首页 > news >正文

网站seo优化实例做软件用什么编程语言

网站seo优化实例,做软件用什么编程语言,外贸英文网站搭建的公司,div做网站背景 前段时间朋友咨询他们公司某个HTTP接口偶现400错误,有没有什么好的分析方法和解决方案,使用的是Spring Cloud体系。最近有时间总结下这个问题的处理过程。 为了分析问题,笔者使用 Spring Boot 3.0.2还原报错场景进行讲解。 问题分析 …

背景

前段时间朋友咨询他们公司某个HTTP接口偶现400错误,有没有什么好的分析方法和解决方案,使用的是Spring Cloud体系。最近有时间总结下这个问题的处理过程。

为了分析问题,笔者使用 Spring Boot 3.0.2还原报错场景进行讲解。

问题分析

从朋友反馈的情况看,返回400状态错误码的接口并不是一直出错,出错的概率在5%左右,得出并不是系统的错误,从状态码400来看是调用方出错了,请求头或者请求参数错误。从服务器上查tomcat的错误日志,找到类似下图的错误。
Tomcat日志从错误日志看到,调用方的请求头个数超过了Tomcat默认设置的个数(100个)。

定位

根据以上分析,需要在服务器上抓包,看调用方到底使用了什么参数。在服务器上使用 tcpdump工具抓包分析http请求具体信息来 定位问题。
因为不能从服务器上下载文件,使用如下命令查看http请求信息。

tcpdump -A -s0 port 8080

在服务器上查看到类似如下的http请求信息,通过Header信息发送是使用的某个链路追踪工具添加的链路调用请求信息,每经过一次调用就会添加一个同名的Header,调用链路多了的话就会导致Header个数超过Tomcat的默认值,从而导致Tomcat抛出400错误。

以下是使用Postman模拟超过100个Header的请求日志信息中的部分。
tcppdump日志

18:27:56.864393 IP 192.168.1.103.64156 > fedora.webcache: Flags [.], seq 1:1461, ack 1, win 513, length 1460: HTTP: GET / HTTP/1.1
E....b@...S....g...d.....'......P....=..GET / HTTP/1.1
Header0: 0
Header1: 1
Header2: 2
Header3: 3
Header4: 4
...
Header95: 95
Header96: 96
Header97: 97
Header98: 98
Header99: 99
User-Agent: PostmanRuntime/7.29.2
Accept: */*
Postman-Token: f

如果可以下载文件的话,使用下面的命令抓包,在开发机上使用wireshark工具分析http请求包信息是最好的。

sudo tcpdump  port 8080 -w http.400.cap

Wireshark# 解决方案

找到问题原因之后,就好解决了。解决方案有两种:

  • 找链路追踪工具的团队解决Header的问题
  • 设置Tomcat Header个数

由于不是本公司系统且需要及时解决该问题,没办法解决链路追踪工具的问题,给朋友推荐自定义配置的方式设置Tomcat最大Header数量,代码如下:

/*** 自定义Tomcat配置参数*/
@ConditionalOnProperty(value = {"server.tomcat.max-header-enable"}, havingValue = "true", matchIfMissing = false)
public class TomcatConfigure {/*** 最大Header数量*/@Value("${server.tomcat.max-header-count:100}")private int maxHeaderCount;@Beanpublic WebServerFactoryCustomizer<ConfigurableWebServerFactory> tomcatCustomizer() {return new WebServerFactoryCustomizer<ConfigurableWebServerFactory>() {@Overridepublic void customize(ConfigurableWebServerFactory factory) {TomcatConnectorCustomizer customizer = new TomcatConnectorCustomizer() {@Overridepublic void customize(Connector connector) {Http11NioProtocol protocol = (Http11NioProtocol) connector.getProtocolHandler();protocol.setMaxHeaderCount(maxHeaderCount);}};((TomcatServletWebServerFactory) factory).addConnectorCustomizers(customizer);}};}
}

在应用启动参数上加**-Dserver.tomcat.max-header-enable=true -Dserver.tomcat.max-header-count=200**,重启服务后解决该问题。

http://www.yayakq.cn/news/234262/

相关文章:

  • 无锡网站制作网站小企业网站建设的措施
  • 功能多的免费网站建设网站创建
  • 天水建设银行网站网站运营者是做啥工作的
  • 做一个网站要什么样技术天津哪家公司做公司网站
  • 网站建设完工后在什么科目核算长沙市网站制作哪家好
  • 仿唧唧帝笑话门户网站源码带多条采集规则 织梦搞笑图片视频模板深圳展示型网站建设
  • 网站设计者涿州规划建设局网站
  • 如何做免费音乐网站房产中介网站开发
  • 可以做锚文本链接的网站wordpress seo代码
  • 百度seo网站排名优化山东做网站建设的好公司排名
  • 给网站做脚本算违法吗wordpress 付费查看文章
  • uniapp做网站wordpress换主题
  • 北京汽车网站建设厦门网站搜索优化
  • 上海汽车网站建设崇州网站建设
  • 产品列表型网站模板前几年做哪个网站能致富
  • 什么网站可以做任务挣钱的中国100强软件公司排名公布
  • asp网站开发视频教程设计网站私单价格
  • 讯展网站优化推广投注类网站怎么做自动软件
  • 电子商务网站建设选择服务器要考虑的因素有南京 高端网站建设
  • 网站开发的工作好做吗百度权重排名
  • 邯郸网站设计制作h5建站系统源码
  • 全屏网站设计尺寸网站备案那个省份
  • 所有搜索引擎蜘蛛不来网站了高端网站建设代码
  • 自建网站模板建筑设计研究生考试科目
  • 网站换源码如何保留以前的文章如何建立一个小程序的网站
  • 加强网站内容建设的意见企业营销策划实训
  • 做网站要坚持小程序免费制作平台企业中心
  • 企业网站添加栏目杭州网站建设很棒
  • 企业门户网站设计论文wordpress 分类 评论
  • 有域名之后怎么自己做网站论坛网站备案流程图