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

59 lines
2.8 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ==============================================================================
# Внешний 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;
}