最终,我还是换到了CloudFlare,这里是解决log以及Slimstat显示ip不正确的问题

我在之前的文章记录了我将博客全面开启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连接,

不是用自己证书还是小小的和想的不一样,不过算了不纠结这么多了,其他人也不会这么有耐心还看你用的啥证书,看到绿色的安全标志就足够了。

 

 

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.