мета-данные страницы
Обратное проксирование (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).