【发布时间】:2015-11-22 09:46:03
【问题描述】:
我将我的 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 的地址是 https://apple.example.com。如果我禁用 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>
<VirtualHost *:443>
ProxyPreserveHost On
ProxyRequests Off
ServerName orange.example.com
ServerAlias www.orange.example.com
ProxyPass / http://192.168.1.121:8989/
ProxyPassReverse / http://192.168.1.121:8989/
<Location />
SSLRequireSSL
Order allow,deny
Allow from all
</Location>
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
</VirtualHost>
<VirtualHost *:80>
ServerName orange.example.com
ServerAlias www.orange.example.com
Redirect permanent / https://orange.example.com/
</VirtualHost>
【问题讨论】:
标签: ssl proxy apache2 virtualhost reverse-proxy