Nginx – это легкий и быстрый сервер HTTP-сервер, а так же обратный прокси-сервер и почтовый прокси-сервер.
Он гораздо меньше нагружает систему, чем Apache, а так же позволяет проксировать через себя других Web сервера.
Для чего он может быть полезен?
В качестве кэширующего сервера для других Web серверов.
Для агреггации нескольких серверов на одном доменном имени (в зависимости от адреса перехода).
Рассмотрим конфигурацию, когда у нас есть основной сайт на Web сервере Apache, а так же вторичный сервер на базе IIS, на котором работает Web интерфейс Outlook (OWA).
Принципиальная схема сети
Основной веб-сервер должен быть доступен по адресу http://сайт/
Web интерфейс Outlook должен быть доступен по адресу: http://сайт/owa/
для этого установим на front-end сервер Nginx:
apt-get install nginx
Откроем файл конфигурации по умолчанию /etc/nginx/sites-available/default
Закомментируем (или удалим) все присутствующие строки и добавим следующую конфигурацию:
server {
listen *:80;
server_name example.com;
access_log /var/log/nginx/access.log;
location / {
proxy_pass http://10.10.10.2:8080/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_connect_timeout 120;
proxy_send_timeout 120;
proxy_read_timeout 180;
}
location /owa/ {
proxy_pass http://10.10.10.3:80/owa/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_connect_timeout 120;
proxy_send_timeout 120;
proxy_read_timeout 180;
}
}
Теперь объясним некоторые параметры:
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:
service nginx restart
Все готово. Теперь по основному адресу доступен Apache сервер, а по адресу /owa/ доступен web интерфейс Outlook.
Заказать создание и поддержку безопасной IT-инфраструктуры любой сложностиБыть уверенным в своей IT-инфраструктуре – это быть уверенным в завтрашнем дне. Для того, чтобы сделать заказ:
|