WinServer2008+IIS7.5配置SSL站点-杰奇全站SSL

SSL真的“安全”吗?
先来分类讨论,
对于访问者来说:
1、可以快速分辨一个站点的安全状态(虽然是表面现象)
2、以加密方式与站点通讯(虽然并没有什么卵用)
对于网站站长来说:
1、降低网站页面打开速度。
2、无法调用http资源(使用//代替//确实可以解决一部分此类问题,但解决不了全部)。
3、服务器开放443端口,带来未知的安全隐患。
4、服务器需要一定的优化设置,例如屏蔽SSL v2 v3(微软原生的ssl协议漏洞多多,可自行百度)、选择安全的加密策略、启用TLS1.0 1.1 1.2 1.3等等。
5、增加服务器的负载。(不支持或未启用TLS的客户端访问服务器时,服务器会频繁报36887 36888错误,当你服务器每天过万PV的时候,额外消耗的服务器资源就已经不敢想象了)。
诸如此类的问题依然有很多,可所有启用了全站SSL的站长真的都清楚吗?我看未必。

那么问题来了:如何即让用户感觉到安全(看到小绿锁),而又规避对站点的诸多弊端呢?
答案就是伪SSL,这个词不知道之前是否有人提过,不过我感觉下面要介绍的方法,用这个名字称呼是非常贴切的。如果不能理解,可以参考网站静态与伪静态。

先来个图看一下全站SSL的最终效果,当然是伪SSL,效果如下:

也可以查看 奇葩看书 ,验证全站伪SSL效果。

第一步,注册cloudflare账号,也即cloudflare.com,CF不但有免费的SSL证书可以使用,还提供免费的CDN,绝对是境外服务器的免费首选。

注册cloudflare并登陆后台,就没有中文可选了。这里显示的是你已经在cloudflare激活了的域名,接下来我以新加78kanshu.net举例,图文讲解实现过程。


这里输入你的域名,不要带www. ,点击add后,他会自行检测域名是否符合要求。

全部检测通过后,直接点下一步,

选择最左侧的免费服务,然后点击确认。

点击继续,

这里显示的是默认的域名解析,当然如果你有多个二级域名,可以在这里逐一增加。后续在控制台也可以很方便的操作。

点击继续后,系统会读取你域名现在的DNS解析地址并给出需要修改的DNS解析地址。这个需要到你的域名服务商后台进行修改。下图以我的域名服务商后台操作举例,不同的域名服务商请自行百度服务商名字+DNS修改。

设置好域名的DNS服务器后,转回到cloudflare界面点击继续。

不用管他的提示,直接点右侧的现在重新检查。

出现这个提示,就算是告一段落了,DNS转移以及域名解析一般需要10-20分钟就会生效。这段时间正好可以进行如下操作。

第二步,进入杰奇后台,将系统管理→系统定义→网站地址协议头修改为//,保存。

敲黑板:重点中的重点!
这里有一个杰奇的BUG,还需要手动修改config目录里的define.php以及system.php,这两个文件只有在第一次安装杰奇的时候才会修改,之后你在杰奇后台修改的内容这两个文件不再变动,而杰奇在读取的时候却又读取这两个文件。这是我折腾杰奇全站SSL近两天后总结出来血的教训。

第三步,开始网站排查,需要排查的文件如下:
模版目录:head.html foot.html user_top.html 17mb.html 根据模版的不同所需要排查的文件也不尽相同
,总之模版目录的几个html都要排查一遍。
js及css:所有调用到的js和css文件。不同的模版存在不同的目录。以及所有调用到js和css文件的文件。
\modules\article\templates目录:只要是网站用到的html都需要排查一遍。
\modules\article\templates\blocks目录:同上。
以上目录的排查过程,以npp++为例,打开一个文件,搜索

1
http://

,如果有替换为//。或者能省略的

1
http://

尽量省略。比如

1
<a href="//www.aaa.com/modules/article/search.php?searchkey=xxx">

可以省略为

1
<a href="/modules/article/search.php?searchkey=xxx">

第四步,检查服务器防火墙
看仔细,检查一下自己的防火墙,我的服务器上只开放了80 3389。

第五步,配置伪SSL。
此时,检查你在注册cloudflare时所用邮箱,应该收到如下邮件

返回cloudflare页面刷新,可以看到如下提示

点击SSL settings

这里SSL的工作模式默认是Flexible,不用修改,当然如果你要修改或者关闭,就在下拉菜单里选择,选择后自动生效。
Flexible模式简单的理解就是用户到cloudflare启用SSL加密,而cloudflare到服务器依然使用HTTP

这里,TLS最低版本选择1.2,原因后续说明。
至此,你的域名已经启用了cloudflare免费提供的CDN,以及免费提供的SSL代理。

第六步,站点访问测试。
直到在地址栏看到绿色的小锁,说明首页已经全部合规,逐一测试所有页面【首页、分类页、章节列表页、内容页、书架、书库】

最后,第三方测试。
这里推荐两个大家都常用的站点:
1、站长之家:http://tool.chinaz.com/
2、爱站:https://www.aizhan.com/cha/
以下,以站长之家来查验刚刚配置的域名

这里可以看到,显示的依然是不支持HTTPS,IP也依然是服务器真实IP,所以选择输入框下方的更新网页缓存,并查看分析,稍等几秒后应该可以看到如下图所示效果。

IP已经变为cloudflare的CDN节点地址,HTTPS已经检测通过,最后,点击这个安全HTTPS,会看到如下图所示的详细检测信息

如果上面在cloudflare后台配置TLS时不限定最低版本为1.2,这里后面两项会检测不合规。有在自己服务器上安装证书实现全站SSL的站长,也可以通过这种方式来看看你的SSL到底有多“安全”。

至此,WinServer2008+IIS7.5的杰奇站点全站伪SSL配置完毕。

发表评论

电子邮件地址不会被公开。 必填项已用*标注