我有一个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”文件的方法。
这可能是干净的吗?
答案 0 :(得分:0)
您可以使用socket.connect(url, {resource:'socket'})
默认资源为socket.io
https://github.com/LearnBoost/Socket.IO/wiki/Configuring-Socket.IO