ba9d7c874e
The site is demo.primeintellectgrowth.com and nothing else. The Caddy block, the deploy smoke test, the mirrored Caddyfile and the docs all carried the second name; all four no longer do.
35 lines
1.3 KiB
Caddyfile
35 lines
1.3 KiB
Caddyfile
# The live block on cloud-2, kept here so the config is reviewable in the repo.
|
|
# Copy of /etc/caddy/Caddyfile's demo section — if you change one, change both.
|
|
|
|
demo.primeintellectgrowth.com {
|
|
# REQUIRED, and its absence is silent. Without it Caddy builds a second
|
|
# server on *:443 that has never heard of this hostname, and public traffic
|
|
# — which NATs to 10.0.0.2 — falls through to an empty 200 behind a
|
|
# perfectly valid certificate. A --resolve check from cloud-2 still passes,
|
|
# so the only way to catch it is to curl the real hostname from elsewhere.
|
|
bind 10.0.0.2
|
|
import secweb
|
|
encode zstd gzip
|
|
root * /var/www/demo.primeintellectgrowth.com
|
|
|
|
# The whole point of this site is being found and read, so it says so
|
|
# explicitly. primeintellectgrowth.com itself serves noindex.
|
|
header X-Robots-Tag "index, follow"
|
|
|
|
@assets path /assets/*
|
|
header @assets Cache-Control "public, max-age=31536000, immutable"
|
|
@docs not path /assets/*
|
|
header @docs Cache-Control "no-cache"
|
|
|
|
# No SPA fallback. Every route is prerendered to its own index.html, so a
|
|
# fallback to the app shell would answer 200 for a typo'd URL and let a
|
|
# crawler index unlimited copies of the homepage.
|
|
try_files {path} {path}/index.html
|
|
file_server
|
|
|
|
handle_errors {
|
|
rewrite * /404.html
|
|
file_server
|
|
}
|
|
}
|