59 lines
2.8 KiB
Plaintext
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;
|
||
}
|