Tomcat响应https请求引起的一次Bug
程序员文章站
2022-05-31 11:14:02
...
问题描述:接到一个需求,也是很简单。如果是Https请求重定向到一个地址,是Http请求重定向到另一个地址。代码很快写完了,开始测试。
1.Bug出现
为了调试,把请求路径的日志打印出来:
String url = request.getRequestURL().toString();
logger.info("url:"+url);
https的请求的url中对应的端口号没了,https也看不到了,取而代之的是http请求。
好吧,又开始bug修复了。
2.问题定位
问题也比较容易定位,发起的请求到服务端只经过Nginx转发,路径发送变化,应该是Nginx转发出现了问题。好吧,找运维看Nginx的配置。排查后,是这个问题,那就改配置文件。
问题解决后,想着本地测试一下,于是本地启动Tomcat,发起https请求,完全没任何反应 ???,反之http请求则正常响应。
这是什么情况?上网搜了一下,明白了,Tomcat响应https请求得加证书。再一想上面的问题,豁然开朗了。
公司的运维正常不会在服务器Tomcat加证书,因为有时候需要扩容,万一忘了咋整。赶紧问问运维,确认了猜想。
同时,能够证明这个猜想的是,我发起的https请求,从来没在客户端加过证书,而且也没出现过任何提示。这样能从侧面验证猜想是正确的。
3.知识整理
上一篇: linux之 netstat
下一篇: linux免密登录