【问题标题】:Moving from HTTPS to HTTP从 HTTPS 迁移到 HTTP
【发布时间】:2017-08-30 22:44:34
【问题描述】:

我的 WordPress 客户端不再需要 SSL 加密。目前,我在.htaccess 中有以下内容来强制 SSL 加密:

RewriteEngine on

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

以前访问者的浏览器会自动尝试 HTTPS,因为我相信 301。如何在不让以前的访问者遇到问题的情况下迁移到 HTTP(不安全)?

【问题讨论】:

标签: wordpress .htaccess ssl


【解决方案1】:

我想不出你为什么要这样做的任何充分理由;尤其是在 2017 年。有很多因素对你不利:

  1. 您仍需要保留有效的 SSL 证书才能从 HTTPS 重定向回 HTTP。您需要对所有指向https、搜索引擎索引、书签等的入站链接执行此操作。如in this other question 所述,如果没有有效的 SSL 证书,用户甚至会在请求到达您之前看到浏览器警告地点。 (如果您需要保留 SSL 证书,为什么不正确使用它?)

  2. 任何缓存了 HTTP 到 HTTPS 301 重定向的浏览器自然会被重定向到 HTTPS 站点。如果没有有效的 SSL 证书,他们将看到浏览器警告。使用有效的 SSL 证书,用户将被重定向回 HTTP(但这也取决于页面/资源是否也被缓存)。但是,这可能会导致(部分)重定向循环 - 根据浏览器的不同,您可能会在浏览器解决冲突之前收到暂时警告 (ERR_TOO_MANY_REDIRECTS)。某些浏览器可能无法解决冲突,因此用户可能会一直查看错误,直到他们手动清除浏览器缓存。

    要尽量减少此重定向问题,请将所有缓存减少到最低限度,并在返回 HTTP 之前将任何必要的重定向更改为 302(临时)。两者都不理想。

  3. Google Chrome 目前会在用户通过不安全 (HTTP) 连接输入用户名/密码和/或付款信息时发出警告。这自然包括登录 WordPress。您在浏览器地址栏中收到“不安全”消息。 Google 计划将此行为扩展到隐身模式(所有网站),并最终扩展到一切。这将使任何网站都很难停留在普通的旧 HTTP 上。

    Pro Webmasters stack上查看以下相关问题:

    Google 的安全博客文章宣布了拟议的更改:

  4. 随着Let's Encrypt 等免费/自动化 CA 的推出,如今如果您只想启用加密,这已经不是什么大问题了。

所以,我认为教育你的客户会是更好的选择。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-01
    • 1970-01-01
    • 2016-07-28
    • 2015-02-16
    • 1970-01-01
    • 2017-06-13
    相关资源
    最近更新 更多