java - Tomcat 在本地主机上没有响应,但通过 apache2/mod_jk 工作

标签 java apache tomcat networking mod-jk

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 命令来检查这一点,而不是看到 8080tcp6 它应该只是说 tcp

关于java - Tomcat 在本地主机上没有响应,但通过 apache2/mod_jk 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52596550/

相关文章:

java - 如何使用 "for"初始化具有多个值的整数数组

apache - 如何通过 .htaccess 正确地将 index.php 重定向到另一个页面?

eclipse - 在eclipse中更改启动tomcat的超时

java - JVM 在服务器中使用了太多内存

java - 如何在 Java 中使用三态复选框/TreeItem?

java - 将 Axis 1.4 stub 项目移动到基于 Maven 的项目(类型访问限制)

java - 这种情况是否值得使用单例模式?

android - OAuth 2.0 服务器

java - 如何使用apache POI将excel文件数据作为一条记录保存到mysql数据库表中

tomcat - 如何使用 tomcat 的 catlina api 访问 session 管理