Apache 代理具有一个物理 IP = 10.2.2.1 和一个逻辑 IP = 10.2.2.2
配置类似如下
<VirtualHost *:80>
ServerName example.com
<Location />
ProxyPass http://server:8080/
ProxyPassReverse http://server:8080/
</Location>
</VirtualHost>
<VirtualHost *:80>
ServerName example2.com
<Location />
ProxyPass http://server:8081/
ProxyPassReverse http://server:8081/
</Location>
</VirtualHost>
<VirtualHost 10.2.2.2:443>
ServerName example3.com
SSLEngine on
SSLCertificateFile /example3.com.cer
SSLCertificateKeyFile /example3.com.key
SSLCertificateChainFile /example3chain.com.cer
Redirect / https://example3.com
<Location />
ProxyPass http://server:8082/
ProxyPassReverse http://server:8082/
</Location>
</VirtualHost>
<VirtualHost 10.2.2.1:443>
ServerName example4.com
SSLEngine on
SSLCertificateFile /example4.com.cer
SSLCertificateKeyFile /example4.com.key
SSLCertificateChainFile /example4chain.com.cer
Redirect / https://example4.com
<Location />
ProxyPass http://server:8083/
ProxyPassReverse http://server:8083/
</Location>
</VirtualHost>
<VirtualHost *:80>
ServerName example4.com
Redirect / https://example4.com
</VirtualHost>
正在发生的是 URLhttps://external4.com网站没有到达正确的虚拟主机,而是进入非 SSL 重定向,并停留在那里并提供 SSL 错误页面。我确信 DNS 和防火墙是正确的。
使用混合 IP 和基于名称的虚拟主机时,是否存在限制,即 SSL 站点必须彼此位于不同的 IP 上,并且与非 SSL 站点位于不同的 IP 上?这里需要一些帮助。
答案1
对于我来说,example4.com 中的 SSL VirtualHostRedirect / https://example4.com
似乎是一个循环……