开发联调中遇到http请求返回的header中包含unknow字符串导致客户端调某jar包解析header时不是key:value格式抛出异常,经http client工具调测发现返回中多了一个unknow,该问题在bai du上搜索半天也没找到问题解决方案

经验证本地测试(因为本地是springboot自带tomcat容器)与线上linux的微服务(cloud)都是没问题的,只有线上的tomcat接口会出现该问题;经验总结是tomcat问题,果然是版本问题(应该是版本太高了),如果换一个其他项目服务接口(版本较低)会出现以下:

看到了吗
Server: unknown
于是乎立即修改有问题tomcat的server.xml,将http配置处增加
Server=”my API Server”

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding="UTF-8" allowTrace="true" Server="my API Server" />

然后重启服务后就好了,就不会出现unknow了,哈哈!

Ps:由于客户端是第三方,我们看不到代码,如果能看到代码也可以在客户端做处理,不过这种属于规范问题了,特此记录下。

Logo

更多推荐