2016-03-14 4 views
0

ПроблемаКак сделать реверс-прокси с Nginx для множественного экземпляра Метеор

Я пытаюсь развернуть многоэкземплярный Meteor на одном веб-сервере.

Каждый проект имеет свое собственное доменное имя (например, «A» -> «A.com», «B» ..), но сервер имеет один веб-порт: 80. Поэтому я хочу, чтобы использовать Nginx в follow this article

Развертывание

Я использую meteor-up (версия mupx) для развертывания каждого приложения. Это обрезанный пример 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; 
    [...]