Files
platform/Caddyfile
Vladimir Zagainov 49cbb78774
Some checks failed
continuous-integration/drone/push Build was killed
fix: use :80 instead of domain for internal Caddy (TLS handled externally)
2026-01-16 17:11:15 +03:00

35 lines
1.1 KiB
Caddyfile

# Внутренний Caddy (TLS обрабатывается внешним)
:80 {
# --- Заголовки безопасности ---
header {
X-Frame-Options "SAMEORIGIN"
X-Content-Type-Options "nosniff"
Strict-Transport-Security "max-age=31536000;"
}
# --- Маршрутизация запросов (route для явного порядка) ---
route {
# 1. API бэкенда (Yggdrasil, Web, Admin)
reverse_proxy /api/* backend:8080
reverse_proxy /authserver/* backend:8080
reverse_proxy /sessionserver/* backend:8080
# 2. WebSocket для измерения пинга
reverse_proxy /ws/ping ping-helper:8081
# 3. Раздача файлов (скины, модпаки)
@files path /files/*
handle @files {
uri strip_prefix /files
root * /srv
file_server
}
# 4. Фронтенд (Vue.js SPA) - все остальные запросы
reverse_proxy frontend:80
}
# Включаем сжатие
encode zstd gzip
}