【问题标题】:Meteor and Node virtual hostMeteor 和 Node 虚拟主机
【发布时间】:2016-09-09 23:34:35
【问题描述】:
我需要运行 2 台服务器,一台在 Node.js 中,一台在 Meteor 中,比如说在 my_server.com 上
- Node 服务器监听
my_server.com:8080,
- Meteor 服务器监听
my_server.com:3000
我想只打开80端口,然后根据子域用Node的vhost重定向用户,所以
-
node.my_server.com:80 应该去my_server.com:8080
-
meteor.my_server.com:80 应该去my_server.com:3000
我只想打开一个端口。这可能吗?
谢谢
【问题讨论】:
标签:
node.js
meteor
vhosts
【解决方案1】:
是的,完全有可能,你应该使用 apache 的 nginx。
这里是 nginx 配置示例:
server {
listen *:80;
server_name node.my_server.com;
access_log /var/log/nginx/node.access.log;
error_log /var/log/nginx/node.error.log;
location / {
proxy_pass http://127.0.0.1: 8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header X-Forwarded-For $remote_addr;
}
}
流星也有类似的
server {
listen *:80;
server_name meteor.my_server.com;
access_log /var/log/nginx/meteor.access.log;
error_log /var/log/nginx/meteor.error.log;
location / {
proxy_pass http://127.0.0.1: 3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header X-Forwarded-For $remote_addr;
}
}