====== Обратное проксирование (Nginx Reverse-proxy) ======
====== Настройка Reverse-proxy на базе Nginx ======
Руководство по установке Nginx и настройке обратного проксирования (Reverse-proxy) для перенаправления веб-трафика на внутренние серверы.
===== Часть 1: Установка веб-сервера =====
Установите пакет веб-сервера Nginx из репозитория:
Copy
apt-get update && apt-get install -y nginx
Добавьте Nginx в автозагрузку и запустите службу прямо сейчас:
Copy
systemctl enable --now nginx
===== Часть 2: Настройка конфигурации проксирования =====
Создайте конфигурационный файл для ваших сайтов в директории ''%%sites-available.d%%'' (имя файла может быть любым, например ''%%имя_конфига.conf%%''):
Copy
vim /etc/nginx/sites-available.d/имя_конфига.conf
Добавьте следующие блоки конфигурации ''%%server%%'' для каждого маршрутизируемого домена. Обратите внимание на пояснения в комментариях.
**Пример файла конфигурации:**
Copy
server {
# Привязать сервер к стандартному веб-порту
listen 80;
# Указать домен, по которому будет доступен первый сервис
server_name ваш_домен_1;
location / {
# Указать, куда перенаправлять трафик (внутренний сервер)
proxy_pass http://ip_внутреннего_сервера_1:порт;
# Передать домен, на который изначально был сделан запрос
proxy_set_header Host $host;
# Передать протокол запроса (http/https)
proxy_set_header X-Forwarded-Proto $scheme;
# Передать реальный IP-адрес клиента
proxy_set_header X-Real-IP $remote_addr;
# Передать полную цепочку адресов
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
server {
# Можно сделать этот сервер по умолчанию для порта 80, добавив default_server
listen 80 default_server;
# Домен для второго сервиса
server_name ваш_домен_2;
location / {
# Перенаправление трафика на второй внутренний сервер
proxy_pass http://ip_внутреннего_сервера_2:порт;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
===== Часть 3: Активация конфигурации =====
Чтобы Nginx "увидел" созданный файл конфигурации, необходимо создать на него символическую ссылку в директории ''%%sites-enabled.d%%'':
Copy
ln -s /etc/nginx/sites-available.d/имя_конфига.conf /etc/nginx/sites-enabled.d/
Перезапустите службу Nginx для применения изменений:
Copy
systemctl restart nginx
===== Часть 4: Проверка работоспособности =====
Для проверки работы обратного проксирования откройте браузер на клиентской машине и попытайтесь зайти на настроенные домены:
* ''%%http://ваш_домен_1%%'' — должен открыться первый внутренний сервис.
* ''%%http://ваш_домен_2%%'' — должен открыться второй внутренний сервис.
Убедитесь, что клиентская машина способна разрешить доменные имена (настроен локальный DNS-сервер или прописаны адреса в файле hosts).