WebSocket连接失败:一个或多个保留位打开:reserved1 = 0,reserved2 = 1,reserved3 = 1

WebSocket连接失败:一个或多个保留位打开:reserved1 = 0,reserved2 = 1,reserved3 = 1,第1张

概述WebSocket连接失败:一个或多个保留打开:reserved1 = 0,reserved2 = 1,reserved3 = 1

我正在尝试使用Socket.io在我的JavaScript(React)应用程序中设置WebSockets。

从Socket.io客户端(v1.4.5)使用polling传输时,一切正常。 但我想使用实际和安全的WebSockets( wss://协议)…

我的服务器是运行Nginx v1.2.1的Debian 7,作为我的虚拟主机和我的Node.Js应用(使用Socket.io v1.4.5)的代理。

我的域名(API.tribeez.net)通过CloudFlarebuild立, CloudFlare 刚刚宣布了完整的WebSocket 支持 (包括通过SSL,即wss:// )。

如何使Nginxredirect基于头的值?

如何禁止通过IP地址直接访问网站

如何使用django-sslify在我的Django + Nginx + gunicorn web应用上强制使用https,并依靠Cloudflare的新的免费SSL?

在使用Nginx和CloudFlare时,如何将真实IP传递给Gunicorn?

Laravel 5和Cloudflare SSL

当我在Chrome(v50.0)中启动我的应用程序时,我看到Chrome的networking面板中的WebSocket连接(状态pending )。 但一分钟后,WebSocket断开(状态101 Switching Protocols ),控制台抛出一个混乱的WebSocket connection to 'wss://API.tribeez.net/socket.io/?EIO=3&transport=websocket&t=li3t1dh' Failed: One or more reserved bits are on: reserved1 = 0,reserved2 = 1,reserved3 = 1

当打开socket.iodeBUGging,这是我得到:

Fri,06 May 2016 02:23:37 GMT socket.io:server incoming connection with ID L43EOXmwsqkgCMVJAAAD Fri,06 May 2016 02:23:37 GMT socket.io:clIEnt connecting to namespace / Fri,06 May 2016 02:23:37 GMT socket.io:namespace adding socket to nsp / Fri,06 May 2016 02:23:37 GMT socket.io:socket socket connected - writing packet Fri,06 May 2016 02:23:37 GMT socket.io:socket joining room /#L43EOXmwsqkgCMVJAAAD Fri,06 May 2016 02:23:37 GMT socket.io:clIEnt writing packet {"type":0,"nsp":"/"} Fri,06 May 2016 02:23:37 GMT socket.io-parser enCoding packet {"type":0,06 May 2016 02:23:37 GMT socket.io-parser encoded {"type":0,"nsp":"/"} as 0 Transport=websocket,query=/socket.io/?EIO=3&transport=websocket&t=li3t1dh Fri,06 May 2016 02:23:37 GMT socket.io:socket joined room /#L43EOXmwsqkgCMVJAAAD Fri,06 May 2016 02:23:37 GMT socket.io:socket joining room tribe#1 Fri,06 May 2016 02:23:37 GMT socket.io:socket joined room tribe#1 Fri,06 May 2016 02:24:37 GMT socket.io:clIEnt clIEnt close with reason transport close Fri,06 May 2016 02:24:37 GMT socket.io:socket closing socket - reason transport close

这是Nginx的日志:

2016/05/06 04:24:37 [error] 28383#0: *549 upstream timed out (110: Connection timed out) while reading upstream,clIEnt: xxx.xxx.xxx.xxx,server: API.tribeez.net,request: "GET /socket.io/?EIO=3&transport=websocket&t=li3t1dh http/1.1",upstream: "http://127.0.0.1:3010/socket.io/?EIO=3&transport=websocket&t=li3t1dh",host: "API.tribeez.net"

而我的Nginx conf这个应用程序:

http { map $http_upgrade $connection_upgrade { default upgrade; '' close; } } server { server_name API.tribeez.net; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host; proxy_pass http://127.0.0.1:3010; } location /socket.io/ { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host; proxy_pass http://127.0.0.1:3010; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; } }

任何想法为什么它closures? 难道是我需要定期Ping它?

白名单cloudflare启用ngx_http_realip_module的Ips

Cloudflare随机错误302redirect

在cloudflare上运行一个长的PHP脚本给了我一个超时(使用Nginx)

通过SSL的WebSocket:Cloudflare

不可能使用CloudFlare为WebP图像提供服务?

在Nginx blogpost底部找到答案:我需要将我的Nginx版本升级到1.3.13+。 使用正确的Nginx Debian仓库( 见说明 )安装1.10(最新的稳定),它现在似乎工作正常:)

这是我设置localstorage.deBUG = '*'后的浏览器输出:

socket.io-clIEnt:url parse https://API.tribeez.net +0ms socket.io-clIEnt new io instance for https://API.tribeez.net +5ms socket.io-clIEnt:manager readyState closed +2ms socket.io-clIEnt:manager opening https://API.tribeez.net +1ms engine.io-clIEnt:socket creating transport "polling" +2ms engine.io-clIEnt:polling polling +2ms engine.io-clIEnt:polling-xhr xhr poll +1ms engine.io-clIEnt:polling-xhr xhr open GET: https://API.tribeez.net/socket.io/?EIO=3&transport=polling&t=li4PaE9 +2ms engine.io-clIEnt:polling-xhr xhr data null +2ms engine.io-clIEnt:socket setting transport polling +1ms socket.io-clIEnt:manager connect attempt will timeout after 20000 +3ms socket.io-clIEnt:manager readyState opening +3ms engine.io-clIEnt:polling polling got data ArrayBuffer +468ms engine.io-clIEnt:socket socket receive: type "open",data "{"sID":"0BCyhfQm--8uOQYUAAAb","upgrades":["websocket"],"PingInterval":25000,"PingTimeout":60000}" +5ms engine.io-clIEnt:socket socket open +1ms socket.io-clIEnt:manager open +0ms socket.io-clIEnt:manager cleanup +1ms socket.io-clIEnt:socket transport is open - connecting +0ms engine.io-clIEnt:socket starting upgrade probes +1ms engine.io-clIEnt:socket probing transport "websocket" +1ms engine.io-clIEnt:socket creating transport "websocket" +0ms engine.io-clIEnt:polling polling +2ms engine.io-clIEnt:polling-xhr xhr poll +0ms engine.io-clIEnt:polling-xhr xhr open GET: https://API.tribeez.net/socket.io/?EIO=3&transport=polling&t=li4PaLo&sID=0BCyhfQm--8uOQYUAAAb +1ms engine.io-clIEnt:polling-xhr xhr data null +0ms engine.io-clIEnt:polling polling got data ArrayBuffer +252ms engine.io-clIEnt:socket socket receive: type "message",data "0" +1ms socket.io-parser decoded 0 as {"type":0,"nsp":"/"} +0ms engine.io-clIEnt:polling polling +2ms engine.io-clIEnt:polling-xhr xhr poll +0ms engine.io-clIEnt:polling-xhr xhr open GET: https://API.tribeez.net/socket.io/?EIO=3&transport=polling&t=li4PaPo&sID=0BCyhfQm--8uOQYUAAAb +0ms engine.io-clIEnt:polling-xhr xhr data null +1ms engine.io-clIEnt:socket probe transport "websocket" opened +441ms engine.io-clIEnt:socket probe transport "websocket" pong +252ms engine.io-clIEnt:socket pausing current transport "polling" +1ms engine.io-clIEnt:polling we are currently polling - waiting to pause +1ms engine.io-clIEnt:polling polling got data ArrayBuffer +98ms engine.io-clIEnt:socket socket receive: type "noop",data "undefined" +1ms engine.io-clIEnt:polling pre-pause polling complete +0ms engine.io-clIEnt:polling paused +1ms engine.io-clIEnt:socket changing transport and sending upgrade packet +0ms engine.io-clIEnt:socket setting transport websocket +0ms engine.io-clIEnt:socket clearing existing transport polling +1ms engine.io-clIEnt:polling ignoring poll - transport state "paused" +0ms

Socket.io似乎打开一个投票连接,但暂停它喜欢websocket一旦后者工作(我想…)

总结

以上是内存溢出为你收集整理的WebSocket连接失败:一个或多个保留位打开:reserved1 = 0,reserved2 = 1,reserved3 = 1全部内容,希望文章能够帮你解决WebSocket连接失败:一个或多个保留位打开:reserved1 = 0,reserved2 = 1,reserved3 = 1所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1254580.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存