V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
shensi
V2EX  ›  云计算

阿里云的 cdn 为啥不支持 websocket?

  •  
  •   shensi · 2016-12-14 11:28:22 +08:00 · 15727 次点击
    这是一个创建于 2689 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在阿里云服务器用 nodebb 搭了一个论坛,为了加速就上了 cdn 结果发现阿里云的 cdn 不支持 websocket 。网上搜了下好多人都被这个问题困扰,我想了解一下这个支持是非常难做的事情吗? 有没有用 nodebb+阿里 cdn 的朋友,有没有什么经验绕过这个问题?弄个子域名做 websocket 吗,在 nodebb 里面怎么修改呢?

    25 条回复    2020-04-26 00:22:32 +08:00
    mytsing520
        1
    mytsing520  
       2016-12-14 11:40:59 +08:00
    做的是 HTTP/HTTPS 协议
    spwei
        2
    spwei  
       2016-12-14 11:53:26 +08:00
    websocket 本身就不适用 cdn ,每次请求都回源,加速啥呢?
    est
        3
    est  
       2016-12-14 11:53:43 +08:00
    CDN 为啥要支持 websocket 。。。。。。

    就好像问自动挡的车为啥不能自己抬离合一样奇怪。
    elarity
        4
    elarity  
       2016-12-14 11:55:05 +08:00
    好 2B 的问题
    shensi
        5
    shensi  
    OP
       2016-12-14 12:06:31 +08:00
    好吧,受教了,谢谢各位。
    lhbc
        7
    lhbc  
       2016-12-14 12:17:15 +08:00   ❤️ 1
    产品不一样
    CloudFlare 做的是全站加速
    阿里 CDN 主要还是静态加速
    shensi
        8
    shensi  
    OP
       2016-12-14 12:20:41 +08:00
    @lhbc 嗯 谢谢您的认真回答,确实是产品定位不同,不过对于很多用户来说,全站加速也是一个重要需求,也许有一天阿里云也会跟进吧,腾讯云都实现了。

    至于楼上一上来就喷 2B 问题的,直接就是毁社区氛围,每个人水平不一样,问一个很简单的问题不等于 2B ,何况问题并不是不存在的。
    lhbc
        9
    lhbc  
       2016-12-14 12:25:34 +08:00
    @shensi 全站加速涉及的技术细节更多
    技术壁垒对阿里来说是没有的,只是产品定位、研发投入、市场运营的问题
    ragnaroks
        10
    ragnaroks  
       2016-12-14 12:27:26 +08:00
    @shensi V2EX 现在人多了必然会有一些老鼠屎在里面,作为 a 站基佬其实蛮怀恋以前只有小学生的 b 站
    shensi
        11
    shensi  
    OP
       2016-12-14 12:31:34 +08:00
    @lhbc 我也是觉得以阿里的技术应该不难解决的 不过既然暂时没有就只好找替代方案,单独把 websokect 拎出来,其他上 cdn 。所以来看看有没有人有经验处理 nodebb 的 websocket ,还是我自己摸索好了,应该也不难。
    shensi
        12
    shensi  
    OP
       2016-12-14 12:35:10 +08:00   ❤️ 1
    @ragnaroks 我还好,脸皮厚一点被骂了还会继续问,但是可以想象很多人怕被喷不敢提问就无法进步的场景。术业有专攻,每个人都会有遇到问题的时候,技术社区本来就是要互相帮助,氛围差了就会变成灌水社区,现在每天的热门也基本都是技术无关的了。。。
    lhbc
        13
    lhbc  
       2016-12-14 12:41:38 +08:00
    @shensi websocket 直接丢 BGP 上吧
    走一层反代出问题的概率高,而且可能有些 CDN 对连接数有限制
    shensi
        14
    shensi  
    OP
       2016-12-14 13:33:17 +08:00
    @lhbc 刚从 nodebb 官方论坛问到了解决方案,把 socket.io 的 transports 设置为 polling 就解决了。现在还是个刚起步的小论坛,等发展到一定程度再按您说的配置 BGP 吧,非常非常感谢。
    Actrace
        15
    Actrace  
       2016-12-14 16:12:29 +08:00
    websocket 可以用微林的 vxTrans 来做加速。
    julyclyde
        16
    julyclyde  
       2016-12-14 23:54:41 +08:00
    我一直觉得全站加速是伪产品……
    xiamx
        17
    xiamx  
       2016-12-15 00:59:52 +08:00
    > 把 socket.io 的 transports 设置为 polling 就解决了。
    这也是解决方案? 都 polling 了还用 websocket 做啥
    czb
        18
    czb  
       2016-12-15 05:35:55 +08:00 via Android
    我觉得并不是全站加速还是静态加速的问题 CDN 除了缓存还能优化网络路径的质量 一般机房到机房的质量会比终端到机房好 而且中国还有三大运营商
    mytsing520
        19
    mytsing520  
       2016-12-15 07:58:03 +08:00
    赞同 @czb 的说法, CDN 的主要功能还是间接协助优化了网络路径质量,三大运营商之间,三大运营商和专网(教育网、科技网、长城网)之间还有互联互通的问题。
    shensi
        20
    shensi  
    OP
       2016-12-15 09:39:37 +08:00 via Android
    @xiamx 就算是暂时放弃 Websocket 了咯,因为是集成的聊天模块,自己重新做费时费力也做得不好,这样至少可以先用着了。
    shensi
        21
    shensi  
    OP
       2016-12-15 09:43:52 +08:00 via Android
    @czb 你说的有道理,当年那电信到网通超级慢的梗现在也并不是就不存在了,所以借用 CDN 确实有好处的
    shensi
        22
    shensi  
    OP
       2016-12-15 09:48:22 +08:00 via Android
    我本人并不是专业做后端的,用 nodeBB 搭一个论坛而已,直接把整站扔到 CDN 上面,结果聊天功能因为是 websocket 出 bug 了,聊天本来并不需要加速,但总要可用是吧,特地把聊天功能提出来重新弄也很麻烦,所以采取了 polling 方案。对于论坛程序本身而言改动最小,将来如果换到腾讯云之类就可以直接开 websocket 继续用。所以也不失为一种虽不完美但可用的方案。
    orangejx
        23
    orangejx  
       2019-04-09 01:49:57 +08:00   ❤️ 1
    楼主,刚刚发现,现在阿里云的 cdn 已经支持 websocket 了。刚刚在测试的时候,因为服务器使用了 cdn,一直调试不通,一番折腾下来才发现普通的阿里云 cdn 是不支持 websocket 的,需要使用全站加速才支持 websocket。
    iugo
        24
    iugo  
       2019-09-25 09:36:13 +08:00
    即便每次都回源, 如果能优化网络质量还是很有意义的.

    楼主的问题并不傻. 很有意义.
    suiguoguo
        25
    suiguoguo  
       2020-04-26 00:22:32 +08:00
    @spwei 大佬的回答让人很惊叹
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4890 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 03:57 · PVG 11:57 · LAX 20:57 · JFK 23:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.