我有一个例外,不能在域名中使用下划线。我想知道这个异常是版本特定的还是域名中不能给出下划线。如果它是特定于版本的,请告诉我如何解决它。
java.lang.IllegalArgumentException:字符 [_] 在域名中永远无效。在 org.apache.tomcat.util.http.parser.HttpParser$DomainParseState.next(HttpParser.java:946) 在 org.apache.tomcat.util.http.parser.HttpParser.readHostDomainName(HttpParser.java:842) 在 org .apache.tomcat.util.http.parser.Host.parse(Host.java:66) 在 org.apache.tomcat.util.http.parser.Host.parse(Host.java:40) 在 org.apache.coyote .AbstractProcessor.parseHost(AbstractProcessor.java:277) at org.apache.coyote.ajp.AjpProcessor.prepareRequest(AjpProcessor.java:934) at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:456) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) 在 org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:800) 在 org.apache。
Tomcat 8.5.x 及更高版本实施严格的符合 RFC 的主机名作为安全预防措施。HTTP RFC需要主机头验证,因此 Tomcat 执行该验证。
有一个线索的RFC文档需要这种检查,并定义什么可以和什么不能在一个主机名。
您唯一的选择是降级 Tomcat(不推荐)或将您的主机名修复为有效域名。