gpt4 book ai didi

sockets - 使用Cloudflare的套接字IO给出了/socket.io/?EIO=3&transport=polling&t=M8UDUNL的404

转载 作者:行者123 更新时间:2023-12-03 12:03:32 29 4
gpt4 key购买 nike

我在一个node.js站点上工作,该站点在端口8443和端口443上使用socket.io。该站点在本地工作,并对指向生产服务器的dns记录使用namecheap。我最近将名称服务器设置为Cloudflare,并在其中添加了我在namecheap上使用的相同A记录。现在,除了socket.io到端口443之外,其他所有东西都可以正常工作。使用端口443而不使用socket.io的请求可以正常工作。

我收到此错误:

GET https://<domain>/socket.io/?EIO=3&transport=polling&t=M8UDaUZ 404 ()

端口8443 socket.io请求正在获得200个响应,并包含一个sid:
https://<domain>:8443/socket.io/?EIO=3&transport=polling&t=M8UDUTx&sid=cuq1LLdLLVSj2F4FAAAN

我不确定端口443请求上缺少sid是否表示问题。当我向cloudflare提供支持时,他们的回答是404表示检查路径。

唯一发生变化的是DNS,因此我认为这可能不是网站的路径问题或代码问题。看起来Cloudflare所做的一定不同于dns或socket.io连接的namecheap所做的事情。

我没有看到其他错误。有谁知道这个问题可能是什么或如何为Cloudflare修复它?

最佳答案

您设法解决了这个问题吗?
我正在处理相同的问题(或看起来相同),而帮助我设置sockets.io的目的是监听HTTP服务器。

服务器代码:

var http = require('http');
var server = https.createServer(app).listen(80, function() {
console.log('Express HTTP server listening');
});
var io = require('socket.io').listen(server);

var secureServer = https.createServer(httpsOptions, app);
console.log('Express HTTPS server listening');
});

客户端使用wss://(因此传输是安全的)。

我也启用了CloudFlare选项“将所有HTTP代理到HTTPS”。

关于sockets - 使用Cloudflare的套接字IO给出了/socket.io/?EIO=3&transport=polling&t=M8UDUNL的404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49260413/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com