使用廉价的KEYCDN加速你的Discourse


(Michael) #1

因为我的服务器中美国,并且我的站点已经支持HTTPS。为了提高国内访问的速度,我尝试过免费的CDN,但效果很不理想,可以说根本没有加速效果,因为很多免费的CDN不给我这种免费用户提供亚洲的加速节点。后来,我退而求其次,寻找靠谱的性价比的高的CDN,最后发现KEYCDN还是不错,这是一家新成立的瑞士公司,在香港、新加坡和日本都有加速节点,国内用户访问我的网站会通过香港和新加坡节点加速。KEYCDN是按流量计费,0.04美元每G。新注册的用户可以获得25G的免费流量,使用我的推荐链接注册KEYCDNhttps://www.keycdn.com/?a=5869),可以获得125G的免费流量。
现在我给大家分享我使用KEYCDN的配置。

注册KEYCDN账号。

填写你的邮箱即可注册,注册后赠送的流量会立刻到帐,无需充值就可以体验了。

创建一个zone

在控制面板内,点击左边的zones, 然后点击new zone给你的网站创建一个zone并填写如下信息。
Zone Name 处填写你的zone的名字,这个名字将和生成的ID一起组成你的CDN链接。
Zone Status 选择active, 即激活到你的CDN
Zone Type 选择PULL
Origin URL 填写你的网站URL
然后点击Zone Type旁边的Show Advanced Features, 将CORS、Gzip和Origin Shield设置成enable。
如果你的需要支持HTTPS,而你使用的是免费的只支持域名的SSL证书,那么在SSL处选择share,并且将SPDY和Force SSL设置成enable。 如果你是土豪,购买了支持wildcard插入SSL证书,那么将SSL设置成custom, 并且将你的证书和KEY贴进去。
全部配置好后,点击save,你就可以看到你的CDN URL,一般都是zonename-id.kxcdn.com

别名配置
如果你看不顺眼自动生成的CDN URL,可以给他配置别名,点击Zonealiases处配置,这个很很多别的CDN服务器的配置一样。但请注意:

  1. 如果你的SSL证书只支持域名。即在zone中SSL是配置的share,不要设置别名。因为如果你设置了像cdn.example.com这样的别名,浏览器会报SSL错误,甚至你的网站会打不开,因为你的SSL证书不支持cdn.example.com这类子域名。
  2. 如果你是购买了wildcard的SSL证书的土豪,那就设置个别名吧,因为你的证书支持cdn.example.com这样的子域名。

Discourse配置

修改app.yml, 将DISCOURSE_CDN_URL指向你的CDN URL或者其别名。
另外,在rebuild后,在Admin->Setting->Developer里面,将long polling base url配置成KEYCDN上你填写的Origin URL。如果你的origin URL是https://discourse.example.com, 那么long polling base url就填写成https://discourse.example.com/, 注意千万不要漏掉了末尾的斜杆。

以上就是使用KEYCDN的全部配置,一般过20个小时左右后,CDN cache的命中率能到达70%多。


#2

特别实用!!!谢谢您的帖子!!对我帮助很大!!!


#3

image


#4

你好大佬我的问题已经解决了. 自己研究的.

现在我掌握了fastly cdn 阿里云cdn keycdn 的用法 还有cloudflare cdn
大家可以跟我咨询了. 收费哈哈.