Nginx, как frontend для нескольких серверов

Nginx — это легкий и быстрый сервер HTTP-сервер, а так же обратный прокси-сервер и почтовый прокси-сервер.
Он гораздо меньше нагружает систему, чем Apache, а так же позволяет проксировать через себя других Web сервера.

Для чего он может быть полезен?
В качестве кэширующего сервера для других Web серверов.
Для агреггации нескольких серверов на одном доменном имени (в зависимости от адреса перехода).

Рассмотрим конфигурацию, когда у нас есть основной сайт на Web сервере Apache, а так же вторичный сервер на базе IIS, на котором работает Web интерфейс Outlook (OWA).

Принципиальная схема сети

nginx_1
Основной веб-сервер должен быть доступен по адресу http://сайт/
Web интерфейс Outlook должен быть доступен по адресу: http://сайт/owa/

для этого установим на front-end сервер Nginx:

Откроем файл конфигурации по умолчанию /etc/nginx/sites-available/default
Закомментируем (или удалим) все присутствующие строки и добавим следующую конфигурацию:

Теперь объясним некоторые параметры:
listen *:80; — адрес, на котором работает Nginx (любой IP, порт 80).

server_name example.com; — имя сервера (example.com).

access_log /var/log/nginx/access.log; — путь, куда пишутся логи (/var/log/nginx/access.log).

location / — корень сайта (будет браться с Apache сервера).

proxy_pass http://10.10.10.2:8080/; адрес и порт, на котором работает Apache (http://10.10.10.2:8080/).

proxy_set_header Host $host; — передаем имя хоста.

proxy_set_header X-Real-IP $remote_addr; — передаем IP адрес запрашивающего в заголовке X-Real-IP (иначе в логах Apache будут адреса Nginx сервера, а не реальных клиентов).

proxy_set_header X-Forwarded-For $remote_addr; — передаем IP адрес запрашивающего в заголовке X-Forwarded-For (иначе в логах Apache будут адреса Nginx сервера, а не реальных клиентов).

proxy_connect_timeout 120; — время таймаута для подключения к проксируемому серверу (120 секунд).

proxy_send_timeout 120; — время таймаута для отправки данных на проксируемый сервер (120 секунд).

proxy_read_timeout 180; — время таймаута для чтения ответа от проксируемого сервера (180 секунд).

location /owa/ — путь http://сайт/owa/, далее в нем по аналогии описываются параметры.

Сохраняем конфигурацию и перезапускаем Nginx:

Все готово. Теперь по основному адресу доступен Apache сервер, а по адресу /owa/ доступен web интерфейс Outlook.

Заказать создание и поддержку безопасной IT-инфраструктуры любой сложности

Быть уверенным в своей IT-инфраструктуре — это быть уверенным в завтрашнем дне.

Для того, чтобы сделать заказ:

Заполните форму обратной связи и мы обязательно с вам свяжемся:
Форма обратной связи
Позвоните нам по телефону:
+7(909)952-44-33
Напишите нам на электронную почту:
order@blackdiver.net
Напишите нам в Telegram:
Telegram
Другие способы связи Вы сможете найти в разделе Контакты.