博客一轮全面升级完成,开启全站SSL

作者: iEdon 分类: 早期归档 发布时间: 2015-04-05 04:25
虽然知道 Linux 适合建博客网站以及运行PHP,但是我和 @FROYO 一样,只要有 Windows 可选,就必须折腾!于是申请了一个SSL证书,并强制SSL。

从 IIS 到 Apache

IIS 是适合 Windows 建站的最好选择,得益于微软将 HTTP 协议处理都写进了驱动(http.sys)。但是实测没有太大效果,还会强制你不可以发送长链接标头(Connection: keep-alive)。

另外,IIS是令人失望的。最糟糕的记忆就是IIS6年代,满天的错误和无尽的等待,一直没有爱过。新系统安装初始,对IIS7.5的表现甚好感到惊喜,但往往是局限的。IIS不适合PHP,而且IIS配置好PHP跑WP的时候,死活不肯发送404状态码,还要各种伪静态转换。

听说 Apache 是国外各大 Web 软件中唯一一款对 Windows 支持较好的(非 cyg-win 等各种蛋疼、有专门在Windows下工作的MPM),于是下载了 Apache 并启用 mod_spdy 来加速访问。

SSL证书启用

在看到X宝店主机侦探提供几块钱的COMODO SSL 证书后,果断入手。在 Win 版 Apache 乱搞一气后,SSL 挂上了。全局 SSL 正式到来!

iEdon.com 开启SSL

那么问题来了,如何应对百度对https脑残呢?我是这样解决的:使用 .htaccess,对于 User-Agent 非Bot、非spider 的统一强制301到SSL链接。经过百度站长平台的测试后,蜘蛛可以抓获收录 HTTP 版本的页面,而普通用户则访问 HTTPS。一举两得,轻松加愉快~

浅谈 SPDY

SPDY 是 Google 提出的,它不是HTTP协议,但是兼容了HTTP协议的内容。必须工作在 https 协议上。(如果用 http 访问,则还是 HTTP 协议)SPDY 速度飞一样的快。

HTTP对比SPDY

未开启SPDY时,响应时间为177ms。开启后,响应时间唰地变为 55ms。

对比协议头内容,可以发现和普通HTTP不同:

SPDY与HTTP对比

SPDY 已经被 HTTP2.0 协议正式采用(传统 HTTP 协议版本为 1.0 或 1.1),HTTP2.0 将基于 SPDY 进一步开发,前景比较广阔。

支持的浏览器为 近几年的 WebKit 内核浏览器、IE11+ 等。如果浏览器不兼容SPDY,则自动切换SSL+HTTP。

主题修改

iEdonX V4 即将发布,在这里提醒一下:该主题是一个自用主题,因此没有打算引入后台主题设置功能,修改需要手动修改PHP文件。将来也可能如此。
  • 1.引入了博客界常用的评论等级系统,并且自动标注友情链接过的博友为特别嘉宾(小爱心~搞基一家人~意怪!)
  • 2.优化支持 HTTPS 访问,避免出现 Mixed Content 错误。
  • 3.其他若干修复。
  • 4.采用 @FROYO 的建议,采用七牛做 GRAVATAR 缓存。

升级备忘

此次升级涉及到了判断UA来实行分路301跳转,其代码如下:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^iedon.com [NC]
RewriteRule ^(.*)$ http://iedon.com/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^120.27.37.23 [NC]
RewriteRule ^(.*)$ http://iedon.com/$1 [L,R=301]
RewriteCond %{HTTP_USER_AGENT} !(baiduspider|googlebot|soso|bing|sogou|yahoo|sohu-search|yodao|robozilla|msnbot|bingbot|360spider|haosouspider|spider|bot) [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

就记录这么多吧,累了,突然发现我配置环境、修改主题什么的一搞就是要通宵的节奏 = =