我正在尝试使用AJP配置带有Tomcat的Apache but服务器,但我不确定这样做是否正确。
以下是我遵循的步骤:
已在httpd.conf文件中启用requiredModule
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so 在httpd.conf文件中添加了ifModule条件
<IfModule mod_proxy>
ProxyPass / ajp://localhost:8009/
ProxyPassMatch ^(/photos/.*\.jpg)$!
</IfModule>
Alias /photos "F:\projects\AL\Photos"
<Directory "F:\projects\AL\Photos">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory> 最后,将Connector添加到Tomcat的server.xml文件中
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />现在,我尝试浏览到位于以下位置的JSP文件:
http://localhost:8009/examples/jsp/jsp2/el/basic-arithmetic.jsp这可以很好地工作,但我想改为在以下位置浏览JSP:
http://localhost/examples/jsp/jsp2/el/basic-arithmetic.jsp. 我还尝试了这个:
<IfModule mod_proxy>
ProxyPass / ajp://localhost:8009/
ProxyPassReverse / ajp://localhost:8009/
ProxyPassMatch ^(/photos/.*\.jpg)$!
Alias /photos "F:\projects\AL\Photos"
< Directory "F:\projects\AL\Photos">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</IfModule>然后我试着浏览下面的url
http://localhost/examples/jsp/jsp2/el/basic-arithmetic.jsp这也不起作用。
我做得对吗?或者还有其他我可以做的事情?
发布于 2010-07-14 15:01:41
使用<Location>指令。
如:http://stuff.mit.edu/afs/athena/project/stellar-dist/www/stellar2/apache2/stellar2-ajp-proxy.conf
注意:在结束ajp路径后添加"/“是非常重要的,否则配置将抛出404错误。
发布于 2009-07-15 06:49:58
你还需要在“proxypass”之后加上“proxypassreverse”。
发布于 2009-07-15 07:07:16
您是否在Tomcat的server.xml中启用了AJP连接器:
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />您不应该使用AJP端口来访问Tomcat。如果需要,您可以同时拥有HTTP (8080)和AJP (8009)连接器。在这种情况下,您将在localhost:8080中直接访问Tomcat
此外,正如Ryan Fernandes所说,您还需要ProxyPassReverse指令。
https://stackoverflow.com/questions/1129695
复制相似问题