Files
2018-lpon-site/config/nginx/lpon--external-nginx.conf
T
2026-04-15 11:52:33 +03:00

59 lines
2.8 KiB
Plaintext

# ==============================================================================
# Внешний Nginx (Reverse Proxy) для сайта lpon.ru
#
# "Подготовительный" конфиг для Certbot.
# Certbot найдет этот файл и автоматически модифицирует его для работы с SSL.
# ==============================================================================
# --- Основной сервер, который будет обрабатывать запросы ---
server {
# На этом этапе слушаем только порт 80. Certbot добавит порт 443.
listen 80;
listen [::]:80;
# Все домены, которые будет обслуживать этот сервер.
# Certbot выпустит сертификаты для всех перечисленных доменов.
server_name lpon.ru;
# --- ЛОГИ ---
access_log /var/log/nginx/lpon.access.log;
error_log /var/log/nginx/lpon.error.log;
# --- ПРОКСИРОВАНИЕ НА DOCKER-КОНТЕЙНЕР ---
# Вся логика сайта находится в Docker, поэтому мы просто перенаправляем все запросы.
location / {
# Адрес и порт, на котором слушает ваш Docker-контейнер
proxy_pass http://127.0.0.1:8020;
# --- ВАЖНЫЕ ЗАГОЛОВКИ ДЛЯ ПРОКСИРОВАНИЯ ---
# Передаем реальный IP-адрес клиента
proxy_set_header X-Real-IP $remote_addr;
# Передаем информацию о всех прокси-серверах на пути
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# Передаем протокол (http или https)
proxy_set_header X-Forwarded-Proto $scheme;
# Передаем имя хоста, которое запросил клиент
proxy_set_header Host $host;
# Увеличиваем таймауты для стабильности
proxy_connect_timeout 60s;
proxy_send_timeout 60s;
proxy_read_timeout 60s;
}
# Устанавливаем максимальный размер тела запроса (для загрузки файлов и т.д.)
client_max_body_size 100M;
}
# --- СЕРВЕР ДЛЯ РЕДИРЕКТА С WWW НА БЕЗ WWW (HTTP) ---
# Этот блок будет ловить запросы к www.lpon.ru по HTTP и перенаправлять их на lpon.ru по HTTP.
# Certbot потом добавит редирект на HTTPS.
server {
listen 80;
listen [::]:80;
server_name www.lpon.ru;
# Редирект на lpon.ru, сохраняя путь запроса
return 301 http://lpon.ru$request_uri;
}