Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – Socket.io的s3_pkt.c中的HTTPS错误“数据长度太长”大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我们正试图通过httpS / WSS使Socket.io flashsockets在Internet Explorer 9中工作。 flashsockets通过http工作,但httpS会给我们带来问题。我们使用socket.io版本0.8.7和socket.io-client版本0.9.1-1。

我们通过端口443上的SSL运行我们的websocket服务器。我们在正确的位置指定了WebsocketMainInsecure.swf文件的位置(这些是跨域ws请求),我们正在加载swfobject嵌入的文件通过httpS。

我们在我们的EC2实例的安全组中打开了端口843,并且跨源策略文件已成功通过http呈现。它似乎不通过httpS呈现(Chrome会引发SSL连接错误)。

我们尝试了两个版本的WebsocketMainInsecure.swf文件。第一个是由Socket.io提供的文件,它是从WebsocketMainInsecure.as构建的,不包括

Security.allowInsecureDomain("*");

这将抛出错误SCRIPT16389:Unspecified错误。在WebSocket .__ flash.setCallerUrl(LOCATIOn.href)行。

我们认为这是因为SWF文件不允许httpS请求,所以我们用在这个仓库找到的WebSocketMainInsecure.swf文件https://github.com/gimite/web-socket-js,因为它包括

Security.allowInsecureDomain("*");

行在actioncript代码。当我们使用这个,我们看到flashsocket连接保持断开和重新连接在无限循环。我们在运输原型的onSocketError函数中跟踪了socket.io库中的transport.js文件错误。它抛出的错误

[Error: 139662382290912:error:1408F092:SSL routInes:SSL3_GET_RECORD:data length too long:s3_pkt.c:503:]

我们甚至尝试更新socket.io和socket.io-client到版本0.9.6,我们仍然得到访问被拒绝的错误

这个错误很难调试,现在我们在如何获取flashsockets工作的一个损失。我们想知道它是否可能与使用旧版本的socket.io,或者也许我们的策略文件服务器不接受httpS请求,或者甚至WebSocketMainInsecure.swf文件从web- socket-js github repo是相对于socket.io-client所期望的。

解决方法

我不确定的天气它的工作。但这里是我的想法/建议:

>想法:
我假设你(可能)试图访问一个太长的URL。如果数据经常通过GET-Parameters传递,就会发生这种情况。网址的官方限制低于512字节。

详细信息:http规范说协议行最多可以为512字节。如果更长时间,服务器可能拒绝请求或可能无法处理请求。具有GET请求的http中的第一行像需要适合512字节的“GET / path / to?param1 = data1& param2 = data2& … http / 1.1”。对于POST请求,没有这样的限制。

但是你错误似乎起源于一些SSL实现(openSSL?):参s3_pkt.c在行503(我发现这样的文件http://www.opensource.apple.com/source/OpenSSL/OpenSSL-7.1/openssl/ssl/s3_pkt.c),但似乎是不同的;我不知道细节,只是猜测:我可以想到openSSL实现有一些有限的支持长GET请求(因为他们不是http符合),并且只是以这种方式拒绝他们…

我现在看到这些可能性:
解决方案:使用POST而不是GET-requests传输更长的数据集。看看这是否工作…
2.尝试在所使用的服务器上替换openssl-installation或libopenssl;它可能破碎或过时?
尝试请求一些帮助从openssl开发人员…

希望有帮助…

大佬总结

以上是大佬教程为你收集整理的node.js – Socket.io的s3_pkt.c中的HTTPS错误“数据长度太长”全部内容,希望文章能够帮你解决node.js – Socket.io的s3_pkt.c中的HTTPS错误“数据长度太长”所遇到的程序开发问题。

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。