java.lang.IllegalArgumentException: 字符[_]在域名中永远无效。 at

[http-nio-8080-exec-1] org.apache.coyote.AbstractProcessor.parseHost [xxx_tomcat] 是无效主机注意:更多的请求解析错误将以DEBUG级别日志进行记录。

java.lang.IllegalArgumentException: 字符[_]在域名中永远无效。

 

1、先说问题原因

在服务器检查出现漏洞显示在tomcat7低版本存在漏洞,解决方法就是升级tomcat高版本,升级到tomcat.9.0.39 升级完了后,启动报了该错误,提示 [_] 错误,一开始怎么都没想到nginx 而是去找tomcat9 下面的conf xml文件看那里错了,尝试很多回,一直报这个错误,一时就没往nginx想。先暂时搁浅了,然后在睡觉得时候想起来这个 _ 想到nginx 配置里面有 _ 难道是这个原因?

报错界面错误

d

java.lang.IllegalArgumentException: 字符[_]在域名中永远无效。 at

 

 

tomcat catalian.out错误

java.lang.IllegalArgumentException: 字符[_]在域名中永远无效。 at

 

2、尝试修改nginx配置 如下:

 

解决方法修改nginx 的

原来配置:

upstream xxx_tomcat]{

server 10.******* weight=1 ;

server 10******** weight=1 ;

}

改后配置:

upstream xxxtomcat]{

server 10.******* weight=1 ;

server 10******** weight=1 ;

}

3、百度 tomcat9 _ nginx

果然看到这样的文章,只想一句 m***** 搞了那么久*%……

tomcat9 对 _ 敏感

 

4、直接重启nginx

 

先停止你的nginx

再 启动 ./nginx -c /*****/nginx.conf

 

5、OK解决了

话说,为啥一开始就想不到这样的问题呢?

一直百度这个报错的代码如下

1、[http-nio-8080-exec-1] org.apache.coyote.AbstractProcessor.parseHost [xxx_tomcat] 是无效主机注意:更多的请求解析错误将以DEBUG级别日志进行记录。

 

结果未找到相同的问题

 

2、 java.lang.IllegalArgumentException: 字符[_]在域名中永远无效。

结果未找到相同的问题

 

6、有时候发现脑子轴的很没办法,如果你跟我一样,希望能帮到你!