我有一台centOS机器,在端口80上运行Apache HTTP服务器,在端口8080上运行Apache Tomcat。 PHP应用程序在Http Server上运行,并且在tomcat上运行基于java的应用程序。
我希望将子域映射到Php应用程序,并将另一个子域映射到Java应用程序。
这是我需要的映射。
http://www.a.myDomain.com/ --- php app and
http://www.app.myDomain.com/ ----java pp
为实现这一目标,我在配置文件中进行了以下更改。
添加了以下行,
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
另外,添加了以下内容
NameVirtualHost *:80
<VirtualHost *:80>
ServerName app.myDomain.com
ServerAlias www.app.myDomain.com
ProxyRequests Off
ProxyPreserveHost On
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/html/test/
ServerName a.myDomain.com
ServerAlias www.a.myDomain.com
</VirtualHost>
<Host name="www.app.myDomain.com" appBase="/home/centos/apache-tomcat-8.0.0-RC3/webapps/myApp"
unpackWARs="true" autoDeploy="true" xmlValidation="false"
xmlNamespaceAware="false" >
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Context path="" docBase="/home/centos/apache-tomcat-8.0.0-RC3/webapps/myApp"
debug="0" reloadable="false"/>
我已经修改了上面的配置文件,现在我可以使用URLS
访问这两个应用程序http://www.a.myDomain.com/
http://www.app.myDomain.com:8080/
这很好。
但我想在不指定端口
的情况下访问java应用程序即,应该可以通过
访问Java应用程序 http://www.app.myDomain.com/
instead of http://www.app.myDomain.com:8080/
我在apache conf中添加了反向代理的代码(请参阅httpd conf文件),但它无效。 当我访问网址时
我收到以下错误
服务不可用
由于维护停机或容量问题,服务器暂时无法为您的请求提供服务。请稍后再试。
Apache配置中的任何错误?
答案 0 :(得分:0)
看起来你的httpd.conf配置正常。
在此,代理将重定向请求&#34; app.myDomain.com&#34; to&#34; locahost:8080&#34;
但是tomcat主持的问题是&#34; www.app.myDomain.com&#34;
更改&#34; www.app.myDomain.com&#34;在server.xml中标记为&#34; localhost&#34;可以解决你的问题。
答案 1 :(得分:0)
我找到了解决方案。
修改了ProxyPass和ProxyPassReverse,如下所示
ProxyPass / ajp://localhost:8009/
ProxyPassReverse / http://localhost:8009/
现在我可以访问php app了 http://www.a.myDomain.com/ 和http://www.app.myDomain.com/
的Java应用程序