java.lang.IllegalArgumentException: 字符[_]在域名中是无效的

4
我通过Eclipse从GitHub下载了Java JPA的项目,并创建了JAR文件并将其移动到云服务器上。
JAR文件在云服务器上构建成功。然而,在另一个云服务器上安装nginx后,我连接到了具有JAR文件的云服务器,但出现了错误。 /etc/nginx/nginx.conf
http {
        upstream tomcat_servers {
                server 00.00.00.00:8080;
                server 00.00.00.00:8080;
         }
     }

错误日志

java.lang.IllegalArgumentException: The character [_] is never valid in a domain name.
    at org.apache.tomcat.util.http.parser.HttpParser$DomainParseState.next(HttpParser.java:963) ~[tomcat-embed-core-9.0.30.jar!/:9.0.30]
    at org.apache.tomcat.util.http.parser.HttpParser.readHostDomainName(HttpParser.java:859) ~[tomcat-embed-core-9.0.30.jar!/:9.0.30]
    at org.apache.tomcat.util.http.parser.Host.parse(Host.java:71) ~[tomcat-embed-core-9.0.30.jar!/:9.0.30]
    at org.apache.tomcat.util.http.parser.Host.parse(Host.java:45) ~[tomcat-embed-core-9.0.30.jar!/:9.0.30]
    at org.apache.coyote.AbstractProcessor.parseHost(AbstractProcessor.java:294) ~[tomcat-embed-core-9.0.30.jar!/:9.0.30]
    at org.apache.coyote.http11.Http11Processor.prepareRequest(Http11Processor.java:759) [tomcat-embed-core-9.0.30.jar!/:9.0.30]
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:343) [tomcat-embed-core-9.0.30.jar!/:9.0.30]
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-embed-core-9.0.30.jar!/:9.0.30]
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:860) [tomcat-embed-core-9.0.30.jar!/:9.0.30]
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1598) [tomcat-embed-core-9.0.30.jar!/:9.0.30]
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-9.0.30.jar!/:9.0.30]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_242]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_242]
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-9.0.30.jar!/:9.0.30]
    at java.lang.Thread.run(Thread.java:748) [na:1.8.0_242]

我在云服务器中删除了现有的Tomcat,并重新下载了8.5版本,但Tomcat版本错误并没有改变。因此,在从云端删除Tomcat后,我尝试构建JAR文件。我以为会失败,但我想向您展示的日志表明Tomcat已连接。

可能Tomcat被嵌入到JAR文件中了吗?

注意:JPA项目服务器和nginx服务器是不同的服务器。

我无法理解这个问题。我该如何解决这个问题?


1
DNS规范不允许在域名中使用下划线(“_”)。只能使用ASCII字母,数字和破折号(“-”)。 - NomadMaker
@NomadMaker 我从来没有设置过域名。 - discription
你运行这个程序的机器是否有下划线的域名?看起来Tomcat遇到了这样的域名并且在抱怨。其他一些系统对下划线不太挑剔。 - NomadMaker
你能告诉我服务器的名称吗?不是完全限定域名,而只是机器的名称。例如,email.pennstate.edu 的名称为“email”。 - NomadMaker
@NomadMaker 哦,原来只是一个简单的设置错误。我已经解决了。谢谢你的帮助。但是还有另一个问题。你能看一下吗? - discription
显示剩余2条评论
1个回答

4

I changed my name and solved it.

nginx.conf

http {
        upstream tomcatservers {
                server 00.00.00.00:8080;
                server 00.00.00.00:8080;
         }
     }

默认

location / {
                proxy_pass   http://tomcatservers;
           }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接