首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache Tomcat mod ajp

Apache Tomcat mod ajp
EN

Stack Overflow用户
提问于 2022-08-16 17:31:00
回答 1查看 65关注 0票数 0

我正在尝试一个非常简单的设置,使用"demo00“成功地在Tomcat上工作,并通过公共IP:Port/demo00 00访问。然而,当我尝试下面的虚拟主机时,它甚至找不到网站。该网站可以点击,我不想提供任何静态的内容,只是把每一个请求到"demo00“。下面是Apache(2.4.54)虚拟主机,下面是Tomcat(9.0.64)配置。

阿帕奇

代码语言:javascript
复制
<VirtualHost *:80>
    ServerName www.mydemo.com
    ServerAlias mydemo.com
    ProxyPass / ajp://localhost:8009/demo00 secret=123
    ProxyPassReverse / ajp://localhost:8009/

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined 

</VirtualHost>

Tomcat

代码语言:javascript
复制
<Connector protocol="AJP/1.3"
               port="8009"
               redirectPort="8443" address="::1" secretRequired="true" secret="123" 
        />
EN

回答 1

Stack Overflow用户

发布于 2022-08-21 18:30:02

问题可能是localhost中的httpd.conf加上Tomcat中的address="::1"。我敢打赌httpd正在尝试使用IPv4地址,但是Tomcat只使用IPv6侦听。试一试address="localhost"

配置指南说默认情况是在所有本地接口上侦听。它通过使用"localhost"作为默认地址来实现这一点。使用"localhost"时,行为取决于本地DNS解析器。有些系统只返回127.0.0.1,而其他系统则返回127.0.0.1::1,我不确定它们是否会按可预测的顺序返回(即不需要IPv4在响应中的IPv6地址之前)。Tomcat使用从InetAddress.getByName(String host)返回的任何Java,它没有指定如果主机名映射到多个IP,将返回哪个IP。

对于httpd和Tomcat使用"localhost"很可能会导致可靠的连接,因为DNS解析器很可能是一致的,如果先验不可预测的话。当有疑问时,请始终在所有地方使用特定的IP地址。

顺便说一句,如果您正在构建一个新的设置,我强烈建议不要使用AJP。相反,可以在Tomcat端使用mod_proxy_http和一个普通的HTTP(S)连接器。您可以在Tomcat网站上阅读有关为什么要从AJP迁移到HTTP的演示文稿。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73378030

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档