WebSocket over SSL:Cloudflare

Ans*_*was 4 nginx websocket node.js cloudflare

我在cloudflare后面有一个网站.我需要通过SSL启用websockets而不关闭cloudflare支持.我有一个PRO计划,因此不会获得新的websocket支持.我正在使用Nginx代理SSL连接到节点服务器上运行的Web套接字.现在,我读到某个地方,cloudflare可以使用已批准的端口支持websockets.因此,我使用8443作为Nginx端口,使用另一个端口作为节点服务器.使用wscat它会返回200错误.

$ wscat -c wss://xyz.com:8443
error: Error: unexpected server response (200)
Run Code Online (Sandbox Code Playgroud)

我知道websocket期待101代码.但是,如果我访问https://xyz.com:8443,我可以看到节点服务器显示的页面告诉我代理正在运行.此外,一旦我关闭cloudflare支持,websocket就开始工作了.有任何线索让这个工作.我知道我可以创建一个子域但我更喜欢在cloudflare后面运行websocket.

小智 5

如果您尝试通过CloudFlare的网络访问此网站,则无论端口如何,您都需要在域名之前明确启用网络套接字.同样,即使端口可以通过我们的网络,也不会自动意味着您的域上将启用或访问Web套接字.

您可以尝试与我们的支持团队联系,以请求例外以查看他们是否可以为您的域启用该例外,但通常只能在业务和企业级别使用.

免责声明:我在CloudFlare工作.

  • 谢谢!我要求CloudFlare启用Web套接字,但由于我们有专业帐户,因此我们没有获得该功能.我不得不回到CloudFlare外部的单独实例来路由Web套接字流量.我们担心会受到DDOS攻击,但已经添加了一些代码来阻止潜在的威胁.不过,这不是我们希望的最佳解决方案. (2认同)
  • 如何防止WebSocket服务器上的DDOS攻击? (2认同)
  • fwiw websockets 现在可用于所有级别的帐户 https://support.cloudflare.com/hc/en-us/articles/200169466-Can-I-use-CloudFlare-with-WebSockets- (2认同)