【发布时间】:2017-02-24 10:49:58
【问题描述】:
我刚刚使用 Ubuntu 16 LTS 和 Tomcat 8.5.11 + Apache/2.4.18、mod_jk/1.2.41 设置了我们的第一台机器。 我对 Ubuntu 14 LTS、Tomcat 7.0.70 和 Apache/2.4.7 mod_jk/1.2.37 非常熟悉。
部署我的 servlet 似乎很好,tomcat 或应用程序日志中没有错误,但仍然没有用。 使用 fqdn/app 显示错误 503。 使用 ip:port/app 效果很好..
我在 mod_jk.log 中看到了这些条目:
[Fri Feb 24 11:17:49.149 2017] [9219:139689407260416] [info] ajp_connect_to_endpoint::jk_ajp_common.c (1068): (worker1) Failed opening socket to (::1:8009) (errno=111)
[Fri Feb 24 11:17:49.149 2017] [9219:139689407260416] [error] ajp_send_request::jk_ajp_common.c (1728): (worker1) connecting to backend failed. Tomcat is probably not started or is listening on the wrong port (errno=111)
-> ::1:8009 为什么我的 worker.host=localhost 解析为 ::1 (IPv6) 而不是 127.0.0.1 (IPv4)?
我还看到了“较新”参数“prefer_ipv6”并将其设置为“worker.prefer_ipv6=0”但没有运气..
解决方法: 当我设置 worker.host=127.0.0.1 时,一切正常/就像我习惯的那样。 缺点: 我知道我的某个同事过去出于某种原因将 127.0.0.1 条目更改为“localhost”(处理中的 ip 堆栈不同?),所以我不是 100% 有信心将其保留为 IPv4-IP。
关于如何解决这个问题的一些建议?
【问题讨论】:
-
请确认您机器上的所有端口都已打开
标签: apache tomcat ipv6 ipv4 mod-jk