Apache反向代理对WebSocket“不支持”的解决方案

问题

之前写的即时通信部分上传到服务器上之后,发现 WebSocket 连接不上了。

妈蛋=。=

于是百度了半天,看到一个方法是配置 Apache,增加 mod_pythonmod_pywebsocket 扩展巴拉巴拉。

mod_python 在我最开始配置 Apache 支持 PHPPyhton 的时候就发现好像不太好用,所以就没有用。

这次简单地尝试了一下还是有问题,所以就算了。

问题分析

可能因为我是通过 apache 代理,将域名解析到指定端口来实现 tornado 应用的上线,而 WebSocket 在握手的时候请求直接发送到apacheapache 代理的时候没法将WebSocket 握手请求传递给 tornado 应用,结果就是握手失败

解决方案:

html 文件里的ws 服务器地址修改为服务器 IP地址,越过 apache 代理的部分,直接跟 tornado 应用握手。

就是这样:

xxx.html

    ws = new WebSocket("ws://xxx.xxx.xx.xxx:8008/soc")
    ws = new WebSocket("ws://www.mysite.com/soc")

以上。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值