php - 在 ssl 要求之前重定向到 'www'

标签 php redirect ssl

问题

我目前遇到的问题是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.comhttps获取的证书://domain.com 必须对 domain.com 有效(然后,为 https://www.domain.com 获取的证书必须有效对于 www.domain.com)。

(如果两台主机在同一 IP 地址上提供服务,您可以将两个不同的证书与服务器名称指示一起使用,但这相当复杂。)

最简单的方法是获取对 domain.comwww.domain.com 都有效的证书。这可以使用具有多个主题备用名称条目的单个证书来完成。大多数 CA 应该能够颁发此类证书。有些是免费的。

关于php - 在 ssl 要求之前重定向到 'www',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10929534/

相关文章:

regex - 如何在正则表达式中使用 awk for 循环的索引

ssl - Heroku 上的 Ruby SSL 错误

ssl - metricbeat 无法发送数据 - 写入 : connection reset by peer

authentication - Gitlab:无法为电子邮件设置中继地址(state=SSLv2/v3 read server hello A: unknown protocol”)

PHP MySQL 超链接选择

php - 将HTML文件另存为PDF

.htaccess ModRewrite : Url was not found

php - 在没有数据库的情况下使用 Laravel

php - 在 artisan 中重写的核心类不起作用

javascript - 如何将 iframe 内的页面重定向到另一个页面,但我们必须留在 iframe 中