Tomcat 没有响应对 localhost:8080 的调用
curl -k https://localhost/user-service/1/user
工作正常,但是
curl localhost:8080/user-service/1/user
挂起数小时,从不响应。
netstat -tnlp
表演
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1504/sshd
tcp6 0 0 :::443 :::* LISTEN 1559/apache2
tcp6 0 0 :::9090 :::* LISTEN 19341/java
tcp6 0 0 :::46467 :::* LISTEN 19341/java
tcp6 0 0 127.0.0.1:8005 :::* LISTEN 19341/java
tcp6 0 0 :::8009 :::* LISTEN 19341/java
tcp6 0 0 :::8080 :::* LISTEN 19341/java
tcp6 0 0 :::80 :::* LISTEN 1559/apache2
但是本地主机调用甚至没有出现在本地主机访问日志中
我们正在运行 apache2、mod_jk 和 tomcat8。
我没有看到任何错误。任何帮助将不胜感激。谢谢!
最佳答案
您的 tomcat 实例需要一个到端口 8080 的 IPv6 地址连接(tcp6 表示 ipv6 连接)。
要在您的 TOMCAT_HOME\bin
目录中创建一个名为 setenv.sh
的文件(如果它尚不存在)并添加以下内容
JAVA_OPTS="$JAVA_OPTS -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses=true
这将使 tomcat 在重启时绑定(bind)到 IPv4。
您可以通过再次运行您的 netstat 命令来检查这一点,而不是看到 8080
的 tcp6
它应该只是说 tcp
关于java - Tomcat 在本地主机上没有响应,但通过 apache2/mod_jk 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52596550/