全站 HTTPS 需要解决哪些问题


#1

发现 Discourse 的速度仍然不够理想

尽管已经使用了对静态资源的 CDN 缓存

尝试了通过全站 HTTPS 加速(托管于UPYUN)

但遇到了一个问题,所有的帖子内容页面都无法访问

后台的 long polling base url 字段也设置了,Poll 正常,但帖子无法打开

那么请问一下,全站 HTTPS 需要做哪些工作呢?

@fantasticfears

我目前的站点:

Organal: https://wht.im/
CDN: https://cdn.wht.im/


(Litchi) #2

可以打开帖子啊,就一个贴


(Erick Guan) #3

我觉得速度还好吧?

DNS 4s,大概是我在欧洲的缘故。TCP + TLS握手在 150ms 内。
CDN 可以再缓存得厉害一些,把 max-age 推上去(极限),JS 文件得后缀会保证文件唯一,而且这些文件只有再更新后才更改。如果支持 http/2 一定要开启。看请求头部,缓存 miss 的几率蛮高的,你感觉到的速度大概是这个问题。

另外你说的无法打开我这里也没问题,所以你的 DNS 解决了嘛?


#4

DNS 是用的国内较为领先的 CloudXNS

目前 Desktop 上无缓存完全加载基本上可以在 2-3s

但是 Mobile 就比较糟糕了,无论有无缓存基本都需要 5s 以上。(4G / WIFI)


但是奇怪,我这边无法打开帖子内容。

也许是因为这一个请求没能成功回源?




(Erick Guan) #5

2 MB 下载的话,第一次加载到显示会有这个问题,这个架构问题短期就没法解决了。不过下一次访问因为有缓存所以问题不大。

500 说明服务器报错了,/logs 里有完整错误信息


#6

似乎找到问题所在了…


(独唱者) #7

哥们,链接的生成方式(slug generation method)能不能改改啊,你这浏览器里中文,发给别人的时候不方便


#8

修改 long polling base url 到源站后长轮询出现这个,跨域资源访问问题,需要在源站开启 CORS ?

可是似乎用七牛 CDN 不会出现这个情况,帖子内容打开正常。


(Erick Guan) #9

最简单的办法是直接放了 message bus 这个目录。

用另一个域名轮询的话,复杂得多。CORS 是必须的,JavaScript XHR 有同源限制。而且如果从另外一个域名分发的话,没有用户 Cookie,那么 Message Bus 就会以更诡异的 session key 来确认用户的身份,你要理解这个机制(好像没翻译过这个


行啊,改成 none 了


(Robert) #10

我用得是阿里云CDN,可以对全部资源:JS、CSS和图片(包括用户上传的头像)进行加速。它不需要对Discourse站点做特别设置,只要告诉阿里云需要加速的站点域名,进行一些简单设置(在阿里云的管理控制台)即可: http://ask.githuber.cn/

还没遇上什么问题


#12

萝卜特前辈你好, 我用的也是阿里云cdn 但是遇到了一些问题.
就是登陆的时候, 他会自动跳转到源站域名, 然后只有按一下浏览器的"返回"按钮才能进入登录状态.

昆药多时了,希望大佬给写指点…拜谢.


#13

问题已经解决了, 打扰, 幸会.