当前位置: 首页 > 知识库问答 >
问题:

如何用nodejs和Socket.io使Nginx/1.3.14作为代理

穆鸿卓
2023-03-14
server {

 server_name domain.com;
 access_log /var/log/nginx/domaim.com.log;
 location / {
    root /home/app/static/;
 }

 location /socket/ {
        proxy_pass http://127.0.0.1:8000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
 }
}

然后,可以通过domain.com/socket/访问socket.io(获得消息Welcome to socket.io)。另外,静态内容也被交付,但是我无法找到通过端口80加载“socket.io/socket.io.js”文件的任何方法。

在干净的方式上这可能吗?

共有1个答案

柴兴修
2023-03-14

您可以使用socket.connect(url,{resource:'socket'})

默认资源是socket.io

https://github.com/learnboost/socket.io/wiki/configuring-socket.io

 类似资料:
  • 我有一个Apache-Server在端口80上运行我的PHP应用程序。PHP应用程序通过端口3000与NodeJS-Server(socket.io)通信。

  • 据我所知,问题必须与Ngnix反向代理和websockets如何路由有关。服务器对ping请求的答复似乎没有发送到客户端。但我似乎无法确定原因。任何帮助都是非常感谢的。

  • 问题内容: 使用Nginx时,我的套接字无法连接。我的配置文件是: 我的NodeJS是: 我的客户是 不用说,两者都不显示任何东西。我担心Nginx阻止了该请求,而节点却实际上从未收到它? 问题答案: 好像缺少了

  • 问题内容: 我尝试使用nginx设置nodejs。但是当客户端尝试连接时,它将失败并显示… 那么如何启用websocket通信呢? 我目前的Nginx配置 问题答案: 首先,将您的nginx服务器升级到1.3或更高版本。 其次,我的nginx conf有效。您可以关注我的conf。

  • 我有一个带有Express和Socket.io(Ubuntu18.04)的Nodejs服务器应用程序。在nGinx(1.14)反向代理进入场景之前,它总是工作得很好。nginx服务器运行在Node.js应用程序的不同机器上,每个应用程序都在同一网络中的自己的虚拟机上。 2.1.1版本上的服务器和客户端。 我还尝试删除path选项,并为socket.io东西配置了一个特定的/位置(出于测试目的):