【问题标题】:Mod_jk workers - ipv4 / ipv6 /fqdnMod_jk 工人 - ipv4 / ipv6 /fqdn
【发布时间】: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


【解决方案1】:

这是 JK 连接器中的一个错误,它在解析 "worker.*.host=" 设置中的主机名时总是首选 IPv6。强制最新的 JK 连接器通过 IPv4 连接的唯一方法是使用 IPv4 地址(而不是 DNS 名称)。

另一种选择是配置 tomcat AJP/1.3 侦听器以侦听 IPv6。

在 Apache 的人员修复 JK 连接器中的错误之前,这些是目前唯一的选择。

【讨论】:

    猜你喜欢
    • 2021-11-08
    • 2012-09-10
    • 2018-06-27
    • 2013-03-18
    • 2016-09-19
    • 2018-11-29
    • 2019-04-16
    • 2021-09-24
    • 2014-11-01
    相关资源
    最近更新 更多