0

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

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

所以我#ve构建了一个像这样的配置:

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”文件。

这可能以干净的方式吗?

4

1 回答 1

0

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

默认资源是socket.io

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

于 2013-04-26T21:58:56.103 回答