我想确保在使用以下方式重定向 SSL VirtualHost 时不会出现任何神秘的奇怪行为mod_alias Redirect
作为Apache 在此处概述。
我的代码似乎可以工作,但由于 SSL 虚拟主机仅限于一个 IP 地址,我想确保没有任何问题困扰我。明确不使用 TLS。我现在只能使用 Apache 2.2。
<VirtualHost *:443>
ServerName example.com
SSLEngine On
SSLCertificateFile /path/to/example.com-crt.crt
SSLCertificateKeyFile /path/to/example.com-key.key
SSLCACertificateFile /path/to/example.com-ca.txt
Redirect 301 / https://www.example.com/
</VirtualHost>
<VirtualHost *:443>
ServerName www.example.com
SSLEngine On
SSLCertificateFile /path/to/example.com-crt.crt
SSLCertificateKeyFile /path/to/example.com-key.key
SSLCACertificateFile /path/to/example.com-ca.txt
# Do stuff
</VirtualHost>
所以我的问题是,使用 mod_alias 的 SSL VirtualHost 重定向是否应该Redirect
与非 SSL 重定向工作相同?
更新:需要明确的是,我想确保Redirect
避免对 SNI/TLS 的需求,尤其是与 WinXP 上的 IE6 相关。在我使用 WinXP-SP3 上的 IE6 进行的测试中,它似乎运行良好(请参阅标记为正确的答案下方的评论)。
答案1
是的,作用是一样的。
x509v3包括主题备用名称。大多数(所有?)颁发 CA 都会在请求的证书中将www.example.com
和example.com
列为等效备用名称。因此,当在两个 VirtualHost 实例中使用相同的证书时,浏览器不会因名称而受阻。
另一方面,您有:
Redirect 301 / http://www.example.com/
我建议:
Redirect 301 / https://www.example.com/
因为这是毕竟是 SSL。