我将我的apache服务器设置为充当两个服务的反向代理。一个在192.168.1.50:5000
上运行,另一个在192.168.1.121:8989
上运行。
我希望https://apple.example.com
转到192.168.1.50:5000
和https://orange.example.com
转到192.168.1.121:8989
。
apple.example.com
按预期工作,但出于某种原因,当我启用两个网站时,每当我尝试加载orange.example.com
时,它都会加载apple
并且地址Chrome为{{1 }}。如果我禁用https://apple.example.com
vhost,apple
按预期工作
以下是我的两个虚拟主机:
orange
<VirtualHost *:443>
ProxyPreserveHost On
ProxyRequests Off
ServerName apple.example.com
ServerAlias www.apple.example.com
ProxyPass / http://192.168.1.50:5000/
ProxyPassReverse / http://192.168.1.50:5000/
<Location />
SSLRequireSSL
Order allow,deny
Allow from all
</Location>
SSLEngine On
SSLProxyEngine On
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
</VirtualHost>
<VirtualHost *:80>
ServerName apple.example.com
ServerAlias www.apple.example.com
Redirect permanent / https://apple.example.com/
</VirtualHost>
答案 0 :(得分:0)
在尝试解决这个问题大约2个小时之后,我意识到因为我的重定向是永久性的,所以它被缓存在Chrome中。在某些时候,我的浏览器必须存储从orange
到apple
的永久重定向。当我意识到https://orange.example.com
工作但http://apple.example.com
会重定向到apple
时,我想出了这一点。清除浏览器缓存后,它完美运行。非常令人沮丧。