34 lines
1.0 KiB
Caddyfile
34 lines
1.0 KiB
Caddyfile
:8080 {
|
|
# Serve pre-compressed static assets and enable on-the-fly compression for other assets.
|
|
encode gzip
|
|
|
|
# Define routes for static assets.
|
|
# Caddy will automatically look for pre-gzipped files (.gz) if available.
|
|
route /static/appbuilder* {
|
|
uri strip_prefix /static/appbuilder
|
|
root * /usr/share/caddy/static/appbuilder
|
|
file_server {
|
|
precompressed gzip
|
|
}
|
|
}
|
|
|
|
route /static/dist* {
|
|
uri strip_prefix /static/dist
|
|
root * /usr/share/caddy/static/dist
|
|
file_server {
|
|
precompressed gzip
|
|
}
|
|
}
|
|
|
|
# Reverse proxy all other requests to the Airflow webserver.
|
|
route {
|
|
reverse_proxy airflow-webserver:8080 {
|
|
# Set headers to ensure correct proxy behavior
|
|
header_up Host {http.request.host}
|
|
header_up X-Real-IP {http.request.remote.ip}
|
|
header_up X-Forwarded-For {http.request.remote.ip}
|
|
header_up X-Forwarded-Proto {http.request.scheme}
|
|
}
|
|
}
|
|
}
|