我不得不切换服务器,我想将所有 SSL URL 重定向到非 SSL 站点。我遇到的问题是,即使 apache 已实现重定向,https 站点仍会抛出无效证书错误。
<VirtualHost *:443>
ServerAdmin [email protected]
DocumentRoot /data/sites/www.example.com/main/
RewriteEngine on
Redirect 301 / http://www.example.com
SSLEngine on
SSLCertificateFile /etc/httpd/ssl/www.examplecom/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/httpd/ssl/www.example.com/ssl-cert-snakeoil.key
ServerName www.example.com
ErrorLog "logs/example.com-error_log"
CustomLog "logs/example.com-access_log" common
</VirtualHost>
我的问题是,如何进行重定向并避免浏览器中出现无效的 SSL 认证错误?
答案1
需要正确的 SSL 证书(包含所有必需的 DNS 名称,并由客户端浏览器直接或间接信任的 CA 颁发)和相应的私钥才能获得安全连接而不会出现浏览器警告。您只是重定向到非 SSL 站点这一事实并不重要 — 浏览器必须在发送 HTTP 请求之前验证它是否连接到正确的服务器。
如果您之前拥有有效的证书,但在服务器迁移期间丢失了私钥,则需要联系 CA 撤销旧证书并为同一域重新颁发新证书。
答案2
不能。SSL 证书验证发生在会话层附近。HTTP 对话发生在应用程序层。
如果您的业务类型符合该类型的证书要求,我建议您获取与主机名匹配的免费 SSL 证书。有许多 CA 提供免费证书。