Files
fx-test/dev/Caddyfile.dev
2026-03-13 09:47:47 +01:00

92 lines
1.8 KiB
Caddyfile

:8088 {
encode zstd gzip
# Security headers
header {
# HSTS
Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
# Prevent clickjacking
X-Frame-Options "SAMEORIGIN"
# XSS protection
X-Content-Type-Options "nosniff"
# Referrer policy
Referrer-Policy "strict-origin-when-cross-origin"
# Remove server info
-Server
}
@api path /api/*
handle @api {
handle_path /api/* {
reverse_proxy api:8080 {
header_up X-Forwarded-For {remote}
}
}
}
@media path /media/*
handle @media {
handle_path /media/* {
reverse_proxy media:8080 {
header_up X-Forwarded-For {remote}
}
}
}
@s3 path /s3/*
handle @s3 {
handle_path /s3/* {
reverse_proxy minio:9000 {
header_up X-Forwarded-For {remote}
}
}
}
@admin path /admin /admin/*
handle @admin {
uri strip_prefix /admin
reverse_proxy admin:8080 {
header_up X-Forwarded-For {remote}
}
}
@marketing path /marketing /marketing/*
handle @marketing {
uri strip_prefix /marketing
reverse_proxy marketing:8080 {
header_up X-Forwarded-For {remote}
}
}
@gateway path /gateway /gateway/*
handle @gateway {
uri strip_prefix /gateway
reverse_proxy gateway:8080 {
header_up X-Forwarded-For {remote}
}
}
@livekit path /livekit /livekit/*
handle @livekit {
handle_path /livekit/* {
reverse_proxy livekit:7880 {
header_up X-Forwarded-For {remote}
}
}
}
@metrics path /metrics /metrics/*
handle @metrics {
uri strip_prefix /metrics
reverse_proxy metrics:8080 {
header_up X-Forwarded-For {remote}
}
}
handle {
root * /app/dist
try_files {path} /index.html
file_server
}
}