我在之前的文章记录了我将博客全面开启https的历程,服务器在法兰克福,为了提高在境内的访问速度,我对比了多家选择了魔门云CDN。这家CDN优点很突出,推广期免费用户也不限流量,并且支持自定义SSL证书,这样可是使我的逼格保持下去。同样这个原因我抛弃了百度云加速,其实它什么都挺好的,就是免费套餐不能用https让我不开心。
魔门云是cname到他们的一个域名上,对于国内访问比较多的网站,没备案一般放在香港的节点。这样对于国内的普通用户其实是非常使用的,毕竟需要解决最大的问题是拉近用户和服务器距离,香港在境外对比应该是距离最近的了吧。可是对于我生活在德国,服务器在法兰克福,本来速度超快ping都是低于10毫秒,可是加上魔门云CDN后,我访问我自己网站流量要先从法兰克福去香港,再从香港到我这里,快要绕地球一圈了,所以毫无疑问ping飙到300以上,而用了一段时间观察魔门云并不支持多ip,也就是也并没有智能的在我身边启用一个节点,所以我决定换成CloudFlare了。
效果相当的好。自动为我分配美国的节点,但是ping却没有感觉到有太大的区别,看下图,上边是域名直接连接到我的服务器ip,下边是通过CDN中转后的时间。
国内的访问也相当的惊艳,我之前担心国外的服务水土不服,看来是我多虑了。
大部分颜色都淡淡的,红色可能是我更新了DNS后当地还没来得及跟上并且可以看到是多ip解析,所以全球各个地方应该都应该速度不错,包括中国大陆。其中还包括了一个ipv6地址我也是挺服的。。
对比直接连接服务器ip的耗时:
另外这个CDN也遇到了魔门云同样的问题,服务器获取的ip不是最终客户端的ip,这个CDN把访客真实IP写在了X_Forwareded_For这个头标签里而不是X_Real_IP,所以设置和魔门云有点不同。
在mod_rpaf的配置文件中将CoudFlare的ip加入代理名单,全部需要加入的IP在这里:https://support.cloudflare.com/hc/en-us/articles/200170706-How-do-I-restore-original-visitor-IP-with-Nginx- 方法可以参照我之前的帖子。
在Apache设置中是这样:
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" custom
在wp-config.php是这样:
/*add for CloudFlare CDN to get original IP*/ if (!($_SERVER["HTTP_X_FORWARDED_FOR"]=="")){ $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_FORWARDED_FOR']; }
其他的步骤可以参考我的下边这个文章,里边有详细的步骤,把其中的有关X_Real_IP改成X_Forwareded_For就好了。
mod_rpaf模块对于https的支持:Apache2.4获取使用CDN后访客的真实ip (基于Amazon Linux EC2)
免费套餐不支持自定义SSL证书,不过官方提供一个泛域名证书,也是默认实现https连接,
不是用自己证书还是小小的和想的不一样,不过算了不纠结这么多了,其他人也不会这么有耐心还看你用的啥证书,看到绿色的安全标志就足够了。