42 lines
1.5 KiB
Text
42 lines
1.5 KiB
Text
# -----------------------------------------------------------------------------
|
|
# EXAMPLE virtual-host config
|
|
# Copy to conf.d/, replace "example.com" & "app" with your own values.
|
|
# -----------------------------------------------------------------------------
|
|
server {
|
|
# Primary and wildcard hostnames
|
|
server_name example.com *.example.com;
|
|
|
|
# Docker-embedded resolver; 127.0.0.11 is the default for user-defined networks
|
|
resolver 127.0.0.11 valid=30s;
|
|
set $target http://app:80; # ⇐ upstream container / service name
|
|
|
|
location / {
|
|
# Preserve client metadata
|
|
proxy_set_header Host $http_host;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
|
|
# Scheme / host / port forward for apps that need absolute URLs
|
|
proxy_set_header X-Forwarded-Proto https;
|
|
proxy_set_header X-Forwarded-Host $host;
|
|
proxy_set_header X-Forwarded-Port 443;
|
|
|
|
# Ship it
|
|
proxy_pass $target;
|
|
}
|
|
|
|
# --- TLS (managed by Certbot) -------------------------------------------
|
|
listen [::]:443 ssl;
|
|
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
|
|
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
|
|
include /etc/letsencrypt/options.conf;
|
|
ssl_dhparam /etc/letsencrypt/dhparam.pem;
|
|
}
|
|
|
|
# Optional HTTP block — kept minimal so Certbot can attach HTTP-01 later
|
|
server {
|
|
server_name example.com *.example.com;
|
|
listen 80;
|
|
return 404;
|
|
}
|
|
|