我正在尝试使用Apache Server 2.4.23为两个不同的域设置反向代理。一个域指向localhost站点,另一个域指向其他服务器网站。这是我的配置
Listen 111.111.11.222:80
Listen 111.111.11.333:80
<VirtualHost 111.111.11.222:80>
ServerName myapp.com
ErrorLog "logs/app_error_log"
CustomLog "logs/app_access_log" common
ProxyRequests Off
ProxyPreserveHost On
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://111.111.11.222:8090/
ProxyPassReverse / http://111.111.11.222:8090/
<Location />
Order allow,deny
Allow from all
</Location>
</VirtualHost>
<VirtualHost 111.111.11.333:80>
ServerName myauditor.com
ProxyRequests Off
# ProxyPreserveHost On
ErrorLog "logs/auditor_error_log"
CustomLog "logs/auditor_access_log" common
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://www.mycompamy.com/
ProxyPassReverse / http://www.mycompany.com/
</VirtualHost>
在这些设置中,首先“myapp.com”可以根据需要正常运行。但是,当我尝试myauditor.com时,它不是将其作为反向代理,而是重定向到www.mycompany.com。 在myauditor.com设置中,如果我取消评论并使用 ProxyPreserveHost On ,那么myauditor.com开始给我错误
网址无效 请求的网址“http://%5bNo%20Host%5d/”无效。 参考编号#9.2d3d6b68.1485193636.126886bd
我是Apache的新手,所以我不确定,当ProxyPreserveHost在第一个VirtualHost中工作正常时,为什么它会在第二个VirtualHost中引起问题。