2016-03-14 103 views
0

問題的多實例如何做一個反向代理nginx的流星

我想要一個單一的服務器網絡上部署的Meteor多個實例。

每個項目都有自己的域名(比如'A' - >'A.com','B'..),但服務器只有一個Web端口:80。所以我想Nginxfollow this article

部署

我使用meteor-upmupx版本)來部署每個應用程序使用。這是mup.json

{ 
    "appName": "A", 
    "env": { 
    "PORT": "3001", 
    "ROOT_URL": "http://www.A.com" 
    }, 
} 

裁剪例子Nginx的

這是我的/etc/nginx/sites-available/A.com.conf

server { 
    listen    *:80; 

    server_name   A.com; 

    access_log   /var/log/nginx/app.dev.access.log; 
    error_log    /var/log/nginx/app.dev.error.log; 

    location/{ 
    proxy_pass http://127.0.0.1:3001; 
    proxy_http_version 1.1; 
    proxy_set_header Upgrade $http_upgrade; 
    proxy_set_header Connection 'upgrade'; 
    proxy_set_header X-Forwarded-For $remote_addr; 
    } 
} 

結果

版本對於每一個領域,當我打電話:

:80 -> Ngninx Welcome page 
    :3001 -> A.com 
    :3002 -> B.com 
.. 

當我撥打whatever:80時,如何根據域名獲得正確的站點?

回答

0

因此,解決方案僅僅是添加服務器名稱的所有可能版本,而不是僅添加域名。

像這樣

/etc/nginx/sites-available/A.com.conf

server { 
    listen    *:80; 

    server_name   A A.com *.A.com; 

    access_log   /var/log/nginx/app.dev.access.log; 
    [...]