带有 AJP 1.3 和 Tomcat 10 的 Apache 不能很好地协同工作

Apache with AJP 1.3 and Tomcat 10 are not working well together

提问人:Stephen Carville 提问时间:7/25/2023 更新时间:7/25/2023 访问量:117

问:

大约 15 年来,我一直在 Tomcat 前面使用 Apache Web 服务器,并使用 ajp 在两者之间进行通信。现在我正在尝试升级到 tomcat 10(一种情况下是 tomcat 5,另一种情况下是 tomcat 7),该组合无法像以前那样工作。/var/log/httpd/mod_jk_log 一直告诉我“Tomcat 可能未启动或正在侦听错误的端口”

[Mon Jul 24 13:36:25.246 2023] [523293:140686862894848] [info] jk_open_socket::jk_connect.c (815): connect to ::1:8009 failed (errno=111)
[Mon Jul 24 13:36:25.246 2023] [523293:140686862894848] [info] ajp_connect_to_endpoint::jk_ajp_common.c (1064): (wkr01) Failed opening socket to (::1:8009) (errno=111)
[Mon Jul 24 13:36:25.246 2023] [523293:140686862894848] [error] ajp_send_request::jk_ajp_common.c (1724): (wkr01) connecting to backend failed. Tomcat is probably not started or is listening on the wrong port (errno=111)
[Mon Jul 24 13:36:25.246 2023] [523293:140686862894848] [info] ajp_service::jk_ajp_common.c (2774): (wkr01) sending request to tomcat failed (recoverable), because of error during request sending (attempt=1)

情况似乎并非如此

Catalina.Out 告诉我连接器在那里:

24-Jul-2023 12:47:03.423 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-127.0.0.1-8009"]

SS同上:

$ ss -nat
LISTEN 0      100        [::ffff:127.0.0.1]:8009                 *:*           

我可以使用 netcat 在环回上连接到端口 8009,但我不知道要发送什么才能确定它是 ajp 侦听器。这将是我的下一个搜索。

selinux 设置为宽松(我以后会担心打开它),所以这不太可能是原因。

我是这样定义连接器的:

  <Connector port="8009" enableLookups="false" redirectPort="8080" 
        protocol="AJP/1.3" secretRequired="true"
        secret="2a28.W6AtwbmYvgMgr880oo+EGuWxohr" />

还有工人

workers.tomcat_home=/var/jakarta/tomcat
workers.java_home=/usr/java/default
worker.list=wkr01, jkstatus
worker.jkstatus.type=status
worker.wkr01.type=ajp13
worker.wkr01.host=localhost
worker.wkr01.port=8009
worker.wkr01.lbfactor=50
worker.wkr01.connection_pool_timeout=600
worker.wkr01.socket_keepalive=True
worker.wkr01.socket_timeout=300
worker.wkr01.secret="2a28.W6AtwbmYvgMgr880oo+EGuWxohr"
OS: Oracle Linux 8
Apache Web Server: 2.4.37
Tomcat: 10.1.10

我几乎已经用尽了我对 Tomcat 的了解。有什么建议吗?

Apache Tomcat AJP

评论

0赞 Pandurang 7/25/2023
日志显示 mod-jk 尝试通过 IPv6 连接...您能否将 localhost 更改为 127.0.0.1。
0赞 Stephen Carville 7/25/2023
当!我错过了。谢谢!
0赞 Stephen Carville 7/26/2023
我在接口上禁用了 IPv6,并在 /etc/hosts 中注释掉了 localhost 的 ipv6 条目。连接器现在可以工作了。继续下一个错误...
0赞 Pandurang 7/26/2023
您现在面临哪个错误?
0赞 Stephen Carville 7/27/2023
这是一架来自雄猫的 403。我试图让共享的秘密发挥作用,但要么它没有被传递,要么雄猫没有识别它。我切换到mod_proxy_ajp,结果相同。我终于把它关掉了。像 selinux 一样,当我让网站工作时,我会重新访问它。这里的一切都是由“冲刺”驱动的,截止日期比质量更重要。它现在正在工作。

答: 暂无答案