Files
PIG-Demo/deploy/Caddyfile.demo
T
karti-ai ba9d7c874e
ci / web (push) Successful in 2m59s
ci / python (push) Successful in 4m3s
Drop the demo.lumbridgecorp.com alias; one hostname
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.
2026-08-28 21:48:30 -07:00

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
}
}