为什么不强制全局 HTTPS 加密连接

水景一页部署 SSL 已有一年多了,使用的是 StartSSL 的免费证书。眼看着 Let’s Encrypt 项目就要正式发布,也萌发了全站强制 HTTPS 访问的想法。结果却发现这种做法对国内用户并不友好,只得作罢。

StartSSL 的免费 CA 证书有效期只有一年,到期后需要重新申请换发。前些天申请换发之后就想着可以开始强制全站使用 HTTPS 加密连接了。于是在 Apache 的配置文件里加入自动将非加密连接(80端口)自动跳转到加密连接(443端口)的跳转和重写规则,

Redirect permanent / https://cnzhx.net/
RewriteEngine on
RewriteCond %{SERVER_PORT} ^80$
RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R=301,L]

重启 Apache 和 PHP-FPM 服务使规则生效后,刚开始还挺正常的。过两天突然发现网站访问量大幅度减少

于是到 Webkaka 上检测。检测的结果是,使用非加密连接的时候网站连通性很好,但是使用加密连接的时候,很多检测点都出现了 403 错误。

不管是由于自己配置问题也好还是由于国内的上网环境也好,目前来看对于水景一页这样的小站直接切换到 HTTPS 连接似乎不太可行。于是打消了全局强制 HTTPS 连接的念头,然后在右侧边栏顶部写了个提示,有需要的朋友可以自己切换到 HTTPS 连接

由于 Google 的响应实在太快,目前 Google 搜索结果中水景一页的条目已经全都替换成了 HTTPS 打头的地址,那也就没办法了。好在 Baidu 搜索结果中水景一页的条目基本上还都是普通非加密连接的地址。

热烈欢迎各位朋友反馈切换到 HTTPS 连接后是否遭遇无法访问的问题。请到这里留言 :D©

本文发表于水景一页。永久链接:<https://cnzhx.net/blog/reason-of-no-force-https/>。转载请保留此信息及相应链接。

9 条关于 “为什么不强制全局 HTTPS 加密连接” 的评论

    • 非常感谢!
      证书错误倒是很奇怪,因为我自己打开是没有这个的。虽然 Chrome 上面会因为安全级别不够高而显示个黄色的三角符号,但是没有错误。
      你能帮忙把那个错误证书的信息帖上来吗?

  1. 引用通告: 调整了一下 HTTPS 配置 | 水景一页

  2. 我的站点不管nginx上是否开启SSL,打开https://www.xfabs.com 都显示证书错误,而且查看一下是别人的证书很奇怪。这是为何?

    • 这个还真是好奇怪。可能得问问共享主机的管理员吧。
      我经历过的情况是,配置好一个证书后,直接去访问发现却没有加载此证书,而是同服务器上的另一个域名的证书。清空浏览器缓存等之后就正常了。你可以试试看。

      • 我是部署在阿里云上的,就我一个人用,太奇怪了

        • 那你再检查一下证书文件的权限(好像是 400)、应用加密连接的 VirtualHost 的配置看看吧。

时间过去太久,评论已关闭。
如果您有话要说,请到讨论区留言并给出此文章链接。
谢谢您的理解 :-)