我的WordPress客户端不再需要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]
中有以下强制SSL加密:
{{1}}
以前的访客'浏览器会自动尝试使用HTTPS,因为我相信301。如何在不让以前的访问者遇到问题的情况下转移到HTTP(不安全)?
答案 0 :(得分:1)
我无法想出你为什么要这样做的任何理由;特别是在2017年。有很多因素反对你:
您需要保留有效的SSL证书才能从HTTPS重定向回HTTP。您需要对https
的所有入站链接,搜索引擎索引,书签等执行此操作。如上所述in this other question,如果没有有效的SSL证书,用户会在之前看到浏览器警告请求甚至到达您的网站。 (如果您需要保留SSL证书,那么为什么不正确使用它?)
任何已将HTTP缓存到HTTPS 301重定向的浏览器自然会被重定向到HTTPS站点。如果没有有效的SSL证书,他们将看到浏览器警告。使用有效的SSL证书,用户将被重定向回HTTP(但这也取决于页面/资源是否也被缓存)。但是,这可能会导致(部分)重定向循环 - 根据浏览器的不同,您可能会在浏览器解决冲突之前收到一个瞬时警告(ERR_TOO_MANY_REDIRECTS)。某些浏览器可能无法解决冲突,因此用户可能会在手动清除浏览器缓存之前一直查看错误。
要最大限度地减少此重定向问题,请将所有缓存减少到最低限度,并在返回HTTP之前将所有重要重定向更改为302(临时)。这两者都不理想。
当用户通过不安全(HTTP)连接输入用户名/密码和/或付款信息时,Google Chrome会向用户发出警告。这自然会包括登录WordPress。你得到一个不安全的#34;浏览器地址栏中的消息。 Google计划将此行为扩展到隐身模式(所有网站),最终扩展到所有内容。这将使任何站点都很难保持普通的旧HTTP。
请参阅Pro Webmasters stack上的以下相关问题:
Google的安全博客帖子宣布了提议的更改:
随着Let's Encrypt等免费/自动化CA的推出,如果您只是想启用加密,那么这些日子并不是一件好事。
所以,我认为教育你的客户是更好的选择。