9 月 272016
 

Continue reading »

9 月 012016
 

有同学反映,连接 VPN 后,外网机器就无法访问这台机器了。这是由于 VPN 会强制所有非局域网流量通过 VPN 接口发送,而不会通过原有网络接口发送。如果您是 Linux 系统,可以通过添加策略路由规则的方法解决。

添加如下路由规则:

ip route add default via 原有默认网关 dev 原有网卡 table 1000
ip rule add from 原有IP lookup 1000 Continue reading »

7 月 212016
 

最近好几个朋友在给网站开启 HTTP/2 后,都遇到了无法访问的问题。其中有的网站只是 Firefox 无法访问,通过控制台网络面板可以看到请求被 Abort;有的网站不但 Firefox 无法访问,连 Chrome 也会跳到错误页,错误代码是「ERR_SPDY_INADEQUATE_TRANSPORT_SECURITY」。诡异的是,只要去掉对 HTTP/2 的支持(例如去掉 Nginx listen 配置中的 http2)就一切正常。也就是说无法访问的现象只存在于 HTTPS + HTTP/2 的组合,单独提供 HTTPS 服务时就是好的。

这个问题比较有趣,本文除了告诉大家如何解决它之外,还会帮助大家弄清问题的来龙去脉。如果你只关心结论,直接看最后的小结即可。 Continue reading »

7 月 142016
 

印度ISP巴帝电信(Airtel)在海盗湾的页面加载了一个 iframe,声明根据印度电信部的命令屏蔽了该网站。这是一种常规做法,但问题是海盗湾启用了HTTPS,而巴帝电信被发现使用了CloudFlare的有效证书。调查显示CloudFlare并没有屏蔽海盗湾的流量,它没有对海盗湾进行中间人攻击,而是它遭到了巴帝电信的中间人攻击。原因是CloudFlare的印度数据中心托管在巴帝电信的网络内,CloudFlare与海盗湾之间的通信不是HTTPS而是HTTP,巴帝电信嗅探了CloudFlare网络内所有没有使用SLL加密的流量(检查HTTP响应头),根据政府命令屏蔽了海盗湾,修改了海盗湾的响应页面。巴帝电信已经发表声明,称它根据有关当局的指示屏蔽网址。

6 月 042016
 

前提:已经拥有域名证书,且服务器支持添加SSL证书(如VPS或云主机,以及部分虚拟主机)

虽然DiscuzX3.2已经针对https做了优化,但仍有很多地方需要改动,经过在几个生产环境的改造中发现,Discuz目前可以完美支持https并显示绿色https图标,不过有些麻烦,且每个环境都会出现自己的问题。

第一步:
全局 > 站点信息 > 网站 URL,修改为https://bolg.yibadao.net/的格式

第二步:修成Discuz适配https
如果你的Web服务是Apache,请忽略这一步,Nginx请继续看:
Discuz判断网站是否启动SSL是采用 $_SERVER[‘HTTPS’] 的方式,此方法不支持Nginx(nginx+php-fpm),需要先做一些修改,让Discuz使用 $_SERVER[‘SERVER_PORT’]来判断网站是否启用SSL。 Continue reading »