# ============================================================================== # Внешний Nginx (Reverse Proxy) для сайта lpon.ru # # "Подготовительный" конфиг для Certbot. # Certbot найдет этот файл и автоматически модифицирует его для работы с SSL. # ============================================================================== # --- Основной сервер, который будет обрабатывать запросы --- server { # На этом этапе слушаем только порт 80. Certbot добавит порт 443. listen 80; listen [::]:80; # Все домены, которые будет обслуживать этот сервер. # Certbot выпустит сертификаты для всех перечисленных доменов. server_name lpon.ru t.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; }