在读取 SSL 之前重定向到域

在读取 SSL 之前重定向到域

我不得不切换服务器,我想将所有 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 提供免费证书。

相关内容