如何使用nodejs和socket.io将nginx / 1.3.14作为代理工作

时间:2013-03-14 00:16:12

标签: node.js sockets nginx socket.io

我有一个nginx服务器,为webapp提供所有静态内容。 该应用程序使用在node.js unsing socket.io中实现的websockets。 node.js后端正在侦听端口8000。

如果我在静态传递的文档中通过端口8000包含socket-io.js文件一切正常但我已经阅读了一些关于使用nginx作为处理端口8000内部的代理

的内容

所以我建立了一个像这样的配置:

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. (获取欢迎使用socket.io消息)。 此外,还提供静态内容 但是我找不到通过端口80加载“socket.io/socket.io.js”文件的方法。

这可能是干净的吗?

1 个答案:

答案 0 :(得分:0)

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

默认资源为socket.io

https://github.com/LearnBoost/Socket.IO/wiki/Configuring-Socket.IO