Рейтинг:0

Есть ли разница между конфигурацией одного или нескольких серверов nginx?

флаг de

На моем веб-сервере работает несколько служб, работающих на разных портах. Эти сервисы предоставляют данные через WebSocket.

В настоящее время у каждой службы есть свой сервер в нгинкс конфигурация, например:

сервер {
        слушать 9031 ssl;
        место расположения / {
                прокси_пароль http://127.0.0.1:9002;
                прокси_http_версия 1.1;
                proxy_set_header Обновить $http_upgrade;
                proxy_set_header Соединение "обновление";
                proxy_read_timeout 86400;
        }
}

сервер {
        слушать 8031 ​​ssl;
        место расположения / {
                прокси_пароль http://127.0.0.1:8002;
                прокси_http_версия 1.1;
                proxy_set_header Обновить $http_upgrade;
                proxy_set_header Соединение "обновление";
                proxy_read_timeout 86400;
        }
}

сервер {
        слушать 7031 ssl;
        место расположения / {
                прокси_пароль http://127.0.0.1:7002;
                прокси_http_версия 1.1;
                proxy_set_header Обновить $http_upgrade;
                proxy_set_header Соединение "обновление";
                proxy_read_timeout 86400;
        }
}

сервер {
        слушать 6031 ssl;
        место расположения / {
                прокси_пароль http://127.0.0.1:6002;
                прокси_http_версия 1.1;
                proxy_set_header Обновить $http_upgrade;
                proxy_set_header Соединение "обновление";
                proxy_read_timeout 86400;
        }
}

сервер {
        слушать 5031 ssl;
        место расположения / {
                прокси_пароль http://127.0.0.1:5002;
                прокси_http_версия 1.1;
                proxy_set_header Обновить $http_upgrade;
                proxy_set_header Соединение "обновление";
                proxy_read_timeout 86400;
        }
}

Я также мог бы сделать что-то вроде этого:

сервер {
        слушать 9031 ssl;
        местоположение /service1 {
                прокси_пароль http://127.0.0.1:9002;
                прокси_http_версия 1.1;
                proxy_set_header Обновить $http_upgrade;
                proxy_set_header Соединение "обновление";
                proxy_read_timeout 86400;
        }

        местоположение /service2 {
                прокси_пароль http://127.0.0.1:8002;
                прокси_http_версия 1.1;
                proxy_set_header Обновить $http_upgrade;
                proxy_set_header Соединение "обновление";
                proxy_read_timeout 86400;
        }

        местоположение /service3 {
                прокси_пароль http://127.0.0.1:7002;
                прокси_http_версия 1.1;
                proxy_set_header Обновить $http_upgrade;
                proxy_set_header Соединение "обновление";
                proxy_read_timeout 86400;
        }

        ...
}

Второй подход выглядит немного лучше (и приятным побочным эффектом будет меньшее количество портов, которые необходимо настроить на маршрутизаторе). Но теперь у меня вопросы: есть ли метод, который следует предпочесть? Есть ли какие-либо побочные эффекты с точки зрения производительности, стабильности и т. д.? Каков рекомендуемый подход или один и тот же, какой из них использовать?

Рейтинг:1
флаг us

Я использовал оба подхода в прошлом, и оба являются допустимыми конфигурациями.

При втором подходе следите за отсутствующими путями в URL-адресах в своем ответе клиенту. Возможно, вам придется использовать перезапись или что-то подобное. Для этого есть несколько подходов.

Например, если я запрошу https://www.example.com/service1, ответ от http://127.0.0.1:9002 должен включать путь /service1 поэтому любые последующие запросы будут достигать предполагаемой службы.

Lars avatar
флаг de
Спасибо за ваш ответ. Это помогает в принятии решений.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.