【发布时间】:2014-03-19 22:22:03
【问题描述】:
阿帕奇 2.2。我有一个*.mydomain.com 的通配符 SSL 证书。我也想直接在mydomain.com 允许安全连接。我找到了一个解决方案,我可以只为我的网站创建地址 www.mydomain.com,而且确实 - 当我输入 www.mydomain.com 时证书正在工作。工作配置:
<VirtualHost *:443>
ServerName www.mydomain.com
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/cert.der
SSLCertificateKeyFile /etc/apache2/key.pem
// site config, redirects to Apache Tomcat
</VirtualHost>
<VirtualHost *:443>
ServerName mydomain.com
Redirect permanent / https://www.mydomain.com
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/cert.der
SSLCertificateKeyFile /etc/apache2/key.pem
</VirtualHost>
<VirtualHost *:80>
ServerName mydomain.com
ServerAlias www.mydomain.com
Redirect permanent / https://www.mydomain.com
</VirtualHost>
当我输入http://mydomain.com 和http://www.mydomain.com 时,我按预期重定向到https://www.mydomain.com。
但是,当我输入https://mydomain.com 时,浏览器提示证书无效(挂锁为红色)。我必须确认我知道并信任证书(在 chrome 中称为“添加安全例外”),然后 - 我被正确重定向到 https://www.mydomain.com - 并且挂锁是绿色的。
问题是:如何将https://mydomain.com 重定向到https://www.mydomain.com 而不会因证书无效而困扰用户?
我试图从第二个 VirtualHost 定义中删除 SSL* 条目,但随后 apache 没有启动并且日志中出现以下消息:
[error] Server should be SSL-aware but has no certificate configured
[Hint: SSLCertificateFile] (/etc/apache2/sites-enabled/mydomain:1)
【问题讨论】:
-
您的证书是否包含
*.mydomain.com和mydomain.com的SAN 条目? (顺便说一句,在您尝试各种配置设置时使用 永久 重定向不一定是个好主意,因为您测试它的浏览器可能会记住它。)
标签: apache redirect ssl https virtualhost