kar*_*s9o 15 proxy reverse-proxy apache2 ajp tomcat6
我遇到了配置Apache和Tomcat的麻烦,这就是场景:
我有一个Apache Web Server,运行正常,我可以访问这个只需键入:
http://localhost
Run Code Online (Sandbox Code Playgroud)
此外,在这台主机中,我有一个Tomcat运行并正常工作; 我创建了一个迷你网络应用程序,文件在"prueba"目录中,我可以访问输入:
http://localhost:8080/prueba
Run Code Online (Sandbox Code Playgroud)
(我知道Apache在80端口运行,而Tomcat在8080运行)
我想要做的是通过Apache用户可以访问'pruebas'(在Tomcat上运行),我的意思是:
http://localhost/prueba
Run Code Online (Sandbox Code Playgroud)
我已经知道了很多这个,我认为有两种方法可以做到这一点,我已经决定启用代理模块(proxy和proxy_ajp,带有a2enmod),我也已经知道我必须编辑这个文件: sites-available/default,这是内容:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName 127.0.0.1
DocumentRoot /var/www
ProxyRequests Off
ProxyPreserveHost On
ProxyPass /static/ !
ProxyPass / ajp://localhost:8009/
ProxyPassReverse / ajp://localhost:8009/
.
.
.
Alias /static/ "/apache/www/"
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
但这没有正常工作:(
我不得不说,我尝试了很多改变,在这两行上,如:
ProxyPass /prueba ajp://localhost:8009/prueba
ProxyPassReverse /prueba ajp://localhost:8009/prueba
Run Code Online (Sandbox Code Playgroud)
要么
ProxyPass / ajp://localhost:8009/prueba
ProxyPassReverse / ajp://localhost:8009/prueba
Run Code Online (Sandbox Code Playgroud)
(每次我编辑文件,我都重启apache)
但是当我访问[http:// localhost/prueba /]时,我有:服务暂时不可用
有谁知道为什么?先谢谢你们.
Pd:我正在使用apache 2.2.17和tomcat6.
Dil*_*mar 12
你必须把
ProxyPass / ajp://localhost:8009/
ProxyPassReverse / ajp://localhost:8009/
Run Code Online (Sandbox Code Playgroud)
在你的apache虚拟主机上
然后你必须在tomcat中取消注释ajp监听器
<Connector port="8009" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
Run Code Online (Sandbox Code Playgroud)
然后,您必须在server.xml中配置主机和上下文路径
REFF:http://www.ntu.edu.sg/home/ehchua/programming/howto/ApachePlusTomcat_HowTo.html
希望对你有帮助..
ProxyPassReverse定义 Apache httpd 应该重写 URL 的 URL,这将重定向到代理(隐藏)URL。因此,您应该将ProxyPassReverse线路更改为如下所示:
ProxyPassReverse / http://localhost/prueba/
Run Code Online (Sandbox Code Playgroud)
另请参阅:http ://httpd.apache.org/docs/2.2/mod/mod_proxy_ajp.html#usage
| 归档时间: |
|
| 查看次数: |
73825 次 |
| 最近记录: |