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 ::: *听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 ::: *听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重新启动时绑定到IPv4。

您可以通过再次运行netstat命令进行检查,而不是在tcp6中看到8080,它应该只显示tcp

10-01 22:14