【发布时间】:2015-02-11 21:54:20
【问题描述】:
我有一个 Nginx 服务于我的 ember 构建 如下:
server {
listen 80;
root /home/ubuntu/my-app/dist;
index index.html;
location /api {
proxy_pass http://127.0.0.1:3000;
}
location / {
try_files $uri $uri/ /index.html;
}
}
我想使用 socket.io 添加聊天,但我已经在端口 3000 上安装了 REST api。 我想知道构建这个的最佳方法是什么。
我想我可以添加另一个位置,如下所示:
location /socket.io {
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_pass http://socket_nodes;
}
但它不起作用。如果有人能指出我正确的方向,那就太好了。
提前致谢。
【问题讨论】:
-
有没有研究过socket.io具体的nginx文档:nginx.com/blog/nginx-nodejs-websockets-socketio?
-
我有,但我不清楚。因为已经有一个节点 api 在端口 3000 上侦听。我也想使用一个套接字,并且正在考虑在另一个端口上添加另一个代理。但我很确定有更好的方法来做到这一点。
-
Nginx 作为反向代理是最广为人知的场景。这意味着您可以通过同一端口代理任何本地/远程资源。分享 Nginx 日志,以便我们快速为您提供帮助
-
这就是我要找的。如何与 socket.io 一起构建一个 rest API。 stackoverflow.com/a/21813645/3957625cmets 的 Ty。
标签: node.js ember.js nginx socket.io