问题
我目前遇到的问题是https://domain.com不会重定向到 https://www.domain.com并显示不受信任的 ssl 证书。
这是与 ruby-on-rails 解决方案相关的 redirect to 'www' before force_ssl
问题
有没有办法在 SSL 要求生效之前重定向到 www 域?
我正在使用 PHP。
最佳答案
HTTPS 是基于 TLS/SSL 的 HTTP(参见 RFC 2818),它在发送任何 HTTP 流量之前首先建立 SSL/TLS 连接。建立 SSL/TLS 连接后,将始终应用任何重定向(通过 mod_rewrite
、自定义 PHP 代码或其他)。
不这样做实际上会是一个安全问题,因为攻击者可以在验证证书之前重写和重定向客户端。
如果要从https://domain.com
重定向到https://www.domain.com
,https获取的证书://domain.com
必须对 domain.com
有效(然后,为 https://www.domain.com
获取的证书必须有效对于 www.domain.com
)。
(如果两台主机在同一 IP 地址上提供服务,您可以将两个不同的证书与服务器名称指示一起使用,但这相当复杂。)
最简单的方法是获取对 domain.com
和 www.domain.com
都有效的证书。这可以使用具有多个主题备用名称条目的单个证书来完成。大多数 CA 应该能够颁发此类证书。有些是免费的。
关于php - 在 ssl 要求之前重定向到 'www',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10929534/