如何做一个tomcat和一个静态网站的ProxyPass?

我有一个安装在亚马逊linux上的Apache我有tomcat和静态网站,都应通过Apache服务。

这是我的第一个conf文件(app_name.conf)我已经完成代理通过像这样: –

<VirtualHost *:80> ServerName example1.com ProxyPreserveHost On ProxyPass /app_name http://example1.com:8080/app_name/ ProxyPassReverse /app_name http://example1.com:8080/app_name/ </VirtualHost> 

这个代理传递给tomcat。

我有一个静态网站(/ var / www / example2)和confi文件(example2.conf)是这样的: –

 <VirtualHost *:80> ServerName www.example2.com ServerAlias example2.com DocumentRoot /var/www/example2 ErrorLog /var/www/example2/error.log CustomLog /var/www/example2/requests.log combined </VirtualHost> 

问题: – 在我只有一个虚拟主机(上面的一个),它工作正常,但现在我又增加了一个虚拟主机。 现在我无法访问第二个虚拟主机(example2.com)它只能redirect到第一个。

任何帮助高度赞赏!

在Apache 2.2中为相同的ip:port组合定义多个虚拟主机,例如*:80,您需要在服务器configuration上下文中定义一次该指令:

 NameVirtualHost *:80 

如果你没有定义这个指令,Apache 2.2不能区分命名的虚拟主机。 还要注意,这个指令只对2.2.x版是必须的/有效的,2.4.x版的Apache不再需要它了。