带有websocket和cloudflare的Node.js无法正常工作

我有两个与PHO站点相连的节点脚本。
Domain受Cloudflare保护。 </ p>

我使用node.js和socekt.io向所有连接的用户实时更新内容,但是当我使用CF保护时,节点脚本运行不正常。</ p>

有人可以告诉我应该怎么做吗?

我的端口:8880和8080。</ p>
</ div>

展开原文

原文

I have two node scripts connected with PHO site. Domain is under Cloudflare protection.

I using node.js and socekt.io to update content live to all connected users, but when I using CF protection, node script not working well.

Could someone tell me what I should do? My ports: 8880 and 8080.

doufangzhang4454
doufangzhang4454 我的推荐-1.为代理设置nginx(使用443端口为https)2。然后为socket添加指令(proxy_pass...到套接字服务器端口)3。打开CloudFlare上的免费https证书
3 年多之前 回复
douba4933
douba4933 你能告诉我如何在apache2中做到这一点吗?
3 年多之前 回复
doufangyan6862
doufangyan6862 我用apache2..
3 年多之前 回复
douzhuoxia0587
douzhuoxia0587 你有没有使用nginxforphpbeckend?如果这样做,则必须在服务器方向添加新的位置规则,例如此位置/socket.io{proxy_passlocalhost:8880/socket.io;proxy_http_version1.1;proxy_set_header升级$http_upgrade;proxy_set_header连接“升级”;}
3 年多之前 回复
duanchi4184
duanchi4184 你能解释一下:“domain.com/socket.io/”?
3 年多之前 回复
donglu2523
donglu2523 不,我不能,因为我在这个端口上使用PHP站点。
3 年多之前 回复
dtn55928
dtn55928 好的我明白了。你能在端口80上设置socket.io服务器吗?你需要使用domain.com/socket.io/
3 年多之前 回复
donglie7778
donglie7778 GET522ERROR和XMLHttpRequest无法加载domain.com:8880/socket.io/...请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许来源“domain.com”访问。响应具有HTTP状态代码522。
3 年多之前 回复
dongpi9494
dongpi9494 你在CF上使用http或https模式吗?尝试连接套接字时,您收到了什么?
3 年多之前 回复

1个回答



您需要允许来自节点脚本的CORS将以下内容添加到socket.io的节点脚本中。</ p>

io.set('originins',' http://sampledomain.com:8880 '); </ p>
</ div>

展开原文

原文

You need allow CORS from your node script add the following to your node script for socket.io.

io.set('origins', 'http://sampledomain.com:8880');

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐