启用了 CDN 加速

前段时间腾讯云送了半年的免费 CDN 流量,总共 300G 吧,既然是免费的,我就顺手申请了下来,结果仔细一看,还挺多限制的。

比如每个月免费流量 50G,不管你是否用完,到了月底就清零了。我记得当时根本没有仔细看它的条款,申请的时候就是 9 月底,结果申请下来接着就是 10 月份,9 月份的 50G 一个比特也没有用上就作废了~

继续阅读

启用缓存与 gzip

开启 https 感觉慢了一些,想升级到 http2,发现安装的 nginx 没有把 http2 的模块带上,暂时也不想折腾这个,就先弄了个缓存加压缩。

缓存就用了 wordpress 下的 WP super cache 插件来搞,免得每次都去调用 php 脚本生成,反正内容也不是经常要变。

另外也把 gzip 开启了。原来 apache server 有开,换成 nginx 没有注意,以为它自动开了,结果没有开,于是也把它开启了,应该会快一点,反正 cpu 资源不用也是浪费~~

网站全面切换到 https

现在这个网站的访问已经全面切换到 https 了,无论是裸域名的 xiaogd.net,还是子域名的 exp.xiaogd.net 都是如此。

本来上个月切换到 nginx 时就想一并弄了的,不过很不幸那段时间领导们正好在开会,寡妇网(g.f.w)卡得特别死,导致都没有办法访问外网的  Let’s Encrypt 去申请证书,所以又拖了段时间。(也正好有理由偷偷懒~~)

另外也配置了 301 的跳转,如果你访问 http,会跳转到 https,换言之已经不能用 http 来访问了。暂时的处理是这样,如果以后发现 https 访问较慢的话,可能也会切换回去 http,或者两种方式并存,由用户自行选择,这个运行一段时间后再看看。

其实对于一个博客网站来说,是否开启 https 其实并不是很重要,不过 https 现在是一个趋势,早晚会来的,所以“早死早超生”吧,就这样……

 

web server 切换到 nginx

web server 从 apache 切换到 nginx。

之前没有注意 nginx 不支持 apache 那种 .htaccess 式的配置,导致永久链接(permalinks)失效,现已在 nginx 中配置 rewrite 规则,永久链接已经 OK 了。如果还发现有不能访问的,请留言,谢谢!

另:子域名的 https 暂时还没有配置。

子域名启用 https 的尝试

现在可以通过 https 访问我的子域名:https://exp.xiaogd.net/

不过暂时还是不建议这样去访问,因为主站 //xiaogd.net 还没有启用,导致从子域名跳到主站时会出现安全警告。

因为在跳转链接上使用了跟随协议式的写法,像这样://xiaogd.net
所以现在子域名上也还是两种方式并存,通过 //exp.xiaogd.net/ 这种不安全的方式访问也还是能支持,我也没有去做跳转。

其实我的主站是个“裸域名”,正常来说应该是这样:http://www.xiaogd.net,现在 https 证书是个生意,我在腾讯云上申请它提供的免费证书时,发现免费的证书并不支持“裸域名”,只能支持像比如 www.xiaogd.net 这样的;或是我现在的这个子域名这样的:exp.xiaogd.net。

而且这样的一个证书还只是免费一年而已~
所以这个证书没有办法支持主站的域名。当然,要在主站全面支持 https,还要把网页中的所有站内链接一一调整成 https 开头的,
或者是前面说到的跟随协议式的写法。
所以你如果现在开始建站,建议一步到位使用 https,免得后面折腾。
当然,像 wordpress 系统的话,它本身在设置上有一些支持,可以较容易切换到 https;自己写的文章内的链接也有批量查找替换的插件。
另外,其实有其它免费的方案,比如这个: Let’s Encrypt,裸域名,多个域名都是没有问题的,当然它的证书也是有期限的,不过也有相关的自动化工具能在到期时帮你自动延期,具体的这里就不介绍了。

对“有点尴尬诶!该页无法显示”情况的一个说明

最近发现网站出现不少 404 的访问,看了一下是对 url 错误二次编码造成的。

如果出现 404 ,该页无法显示的情况,您的浏览器可能对 url 进行了错误的二次编码(或者是其它的转发环节),‘%’被编码成了 ‘%25’。

% 的 ASCII 码 正好是 25(十六进制),%25 就是 % 本身的转义表示,但它是不需要再转义的。

正确形式://xiaogd.net/%XX%XX... 错误形式://xiaogd.net/%25XX%25XX...

错误形式中,% 被二次转义,变成了 %25,导致了 404 错误。

在后台的 access_log 中,找到这些带有 %25 的错误 url,查看其浏览器用户代理 userAgent 的值多为类似以下:

"Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_4 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13G35 QQ/6.5.3.410 V1_IPH_SQ_6.5.3_1_APP_A Pixel/750 Core/UIWebView NetType/2G Mem/117"
关键词:iPhone,AppleWebKit,QQ,UIWebView

估计为 iphone qq 浏览器内核的 bug。我已在 404 页面添加相应说明。(sorry for that,and don't blame me~)

如果您出现无法访问的情况,欢迎留言告诉我具体的情况,谢谢!(不过如果你用手机访问,应该是不会有留言框出现~~)

一次云服务器故障处理及升级记录(上)

在 5 月 28 日晚上准备写点东西时发现网站的响应极为缓慢,起初以为是网络的问题,但访问其它网站速度还是可以的,因此怀疑是我的网站的问题。

登录到后台,用 top 命令查看一下进程的情况,果不其然,有一个叫 iscsid 的进程一直占据着 CPU,一直都是 95% 左右。简单搜索了一下,居然也没有关于这个名字的,看来不是常见的问题!

继续阅读