【问题标题】: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;
      }
    }
    

    【讨论】:

      猜你喜欢
      • 2012-11-27
      • 2019-03-22
      • 2015-02-27
      • 2011-12-24
      • 2015-03-24
      • 2011-06-11
      • 2014-05-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多