Хочу поделиться информацией о режиме работы
proxy_pass в nginx для тех, кто об этом не знает. То, что nginx популярный веб сервер, думаю, знают все. Чаще всего в качестве веб сервера он и трудится. Но не только. Он еще очень популярный балансировщик нагрузки. Мне редко он нужен в этом качестве, так как с highload я не работаю.
А вот еще один режим, в качестве которого он может пригодиться, я использую часто. Речь идет о проксировании входящих запросов к веб серверу. Допустим, есть у вас какой-то специфичный веб сервер, например Onlyoffice или Kibana, Grafana и т.д. Вы хотите там настроить tls подключение. Все это по сути коробочные продукты. Настройки у них у всех разные. Где-то удобно настраивать https, где-то нет.
Чтобы не разбираться с каждым сервисом по отдельности, можно перед ним поставить nginx, на нем настроить https а дальше все запросы отдавать в сервис по http. Таким образом у вас будет единообразие настроек везде. Не нужно решать их по отдельности.
Это не единственное удобство проксирования запросов к сервисам, в отличии от прямого доступа к ним. На самом Nginx можно будет настроить различные правила доступа. Сделать анализ лог файлов и на его основе опять же блокировать кому-то доступ или настраивать другие ограничения. При этом коробочный софт вы вообще не трогаете.
В целом, такая схема доступа повышает удобство управления, безопасность, гибкость настроек. Я практически всегда ставлю nginx на прием внешних запросов. Будь то одиночный сайт на wordpress, bitrix или какая-то готовая веб панель. Делаю отдельную небольшую виртуалку чисто под nginx, а дальше запросы идут на другой веб сервер, где трудится основной сайт. Эту же виртуалку удобно совмещать с шлюзом для виртуальных машин или объединения инфраструктур, если в этом есть потребность.
Моя статья по этой теме с примерами -
https://serveradmin.ru/nginx-proxy_pass/#nginx #webserver