我有一个 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”文件。
这可能以干净的方式吗?