# Основной блок для вашего домена {$APP_DOMAIN} { # Включаем сжатие для ускорение загрузки encode zstd gzip # --- Маршрутизация запросов --- # 1. API бэкенда (Yggdrasil, Web, Admin) reverse_proxy /api/* backend:8080 reverse_proxy /authserver/* backend:8080 reverse_proxy /sessionserver/* backend:8080 # 2. WebSocket для измерения пинга handle /ws/ping { reverse_proxy ping-helper:8081 } # 3. Раздача файлов (скины, модпаки) handle_path /files/* { # Указываем корень, где лежат папки textures и modpacks root * /srv # Включаем файловый сервер file_server } # 4. Раздача статики фронтенда (Vue.js SPA) # Этот блок обрабатывает все остальные запросы # 4. Раздача статики фронтенда (Vue.js SPA) # Этот блок обрабатывает все остальные запросы (Nginx container) reverse_proxy * frontend:80 # --- Заголовки безопасности (рекомендация из ТЗ) --- header { # Запрещает встраивать сайт в iframe на других доменах X-Frame-Options "SAMEORIGIN" # Защита от MIME-сниффинга X-Content-Type-Options "nosniff" # Включает HSTS, заставляя браузеры использовать только HTTPS Strict-Transport-Security "max-age=31536000;" # Базовая политика безопасности контента # Content-Security-Policy "..." } }