mirror of
https://github.com/open-reception/appointment-booking-software.git
synced 2026-08-17 21:25:52 +02:00
68 lines
1.5 KiB
Caddyfile
68 lines
1.5 KiB
Caddyfile
# Production Caddyfile for appointment booking application
|
|
# Replace your-domain.com with your actual domain
|
|
{
|
|
on_demand_tls {
|
|
ask http://app:3000/api/public/domains
|
|
burst 5
|
|
interval 60s
|
|
}
|
|
}
|
|
|
|
:443 {
|
|
reverse_proxy app:3000
|
|
|
|
# Security headers
|
|
header {
|
|
-Server
|
|
Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
|
|
X-Content-Type-Options "nosniff"
|
|
X-Frame-Options "DENY"
|
|
X-XSS-Protection "1; mode=block"
|
|
Referrer-Policy "strict-origin-when-cross-origin"
|
|
Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self'; connect-src 'self'; frame-ancestors 'none'"
|
|
}
|
|
|
|
encode gzip
|
|
|
|
log {
|
|
output file /data/access.log {
|
|
roll_size 100mb
|
|
roll_keep 10
|
|
}
|
|
format json
|
|
}
|
|
|
|
tls {
|
|
on_demand
|
|
protocols tls1.2 tls1.3
|
|
}
|
|
}
|
|
|
|
your-admin-domain.com {
|
|
reverse_proxy app:3000
|
|
|
|
# Security headers
|
|
header {
|
|
-Server
|
|
Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
|
|
X-Content-Type-Options "nosniff"
|
|
X-Frame-Options "DENY"
|
|
X-XSS-Protection "1; mode=block"
|
|
Referrer-Policy "strict-origin-when-cross-origin"
|
|
Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self'; connect-src 'self'; frame-ancestors 'none'"
|
|
}
|
|
|
|
encode gzip
|
|
|
|
log {
|
|
output file /data/access.log {
|
|
roll_size 100mb
|
|
roll_keep 10
|
|
}
|
|
format json
|
|
}
|
|
|
|
tls {
|
|
protocols tls1.2 tls1.3
|
|
}
|
|
} |