我在 amazon 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)和配置文件(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),它只能重定向到第一个。
任何帮助都非常感谢!!!
答案1
在 Apache 2.2 中,要为相同的 ip:port 组合定义多个虚拟主机,例如 *:80,您需要在服务器配置上下文中定义此指令一次:
NameVirtualHost *:80
如果不定义此指令,Apache 2.2 将无法区分命名的虚拟主机。另请注意,此指令仅对 2.2.x 是必需/有效的,Apache 2.4.x 版本不再需要它。