我有一个应用程序,它使用 mod_proxy_ajp 配置了 apache 和 tomcat 我们在 httpd.conf 中对其进行了如下配置:
# This is to redirect any request which is coming with hostname to Login.jsp
RewriteRule ^/$ /jsp/Login.jsp [R]
#include httpd-proxy.conf
<IfModule mod_proxy_ajp.c>
Include conf/extra/httpd-proxy.conf
</IfModule>
进入 httpd-proxy.conf 以下是代理配置:
<Proxy *>
AddDefaultCharset Off
Order deny,allow
Allow from all
</Proxy>
ProxyPass /jsp/ ajp://localhost:8009/jsp/
ProxyPassReverse /jsp/ ajp://localhost:8009/jsp/
在 tomcat 的 server.xml 文件中,我们配置了 AJP 连接器,如下所示:
<Connector port="8009" protocol="org.apache.coyote.ajp.AjpProtocol" redirectPort="8443" address="localhost"
enableLookups="true" maxThreads="500" connectionTimeout="120000" URIEncoding="UTF-8" />
现在,当我使用主机名和 ip 地址访问我的机器时,请求工作正常并显示 Login.jsp。但是,如果我在服务器和客户端(从运行浏览器的位置)上的主机文件中添加一个条目,并为原始服务器名称添加一些别名,如下所示,则它不起作用。
some_ip_address original_host_name alias1 #This is alias
当我以http://alias1发出请求但页面没有出现时,请求被重定向到 Login.jsp。在浏览器中,我可以看到网址为http://alias1/jsp/Login.jsp但页面没有出现。在 apache ajp 日志中,我可以看到响应代码是 200。所以不确定问题到底出在哪里,有人可以帮我吗