Serve the site under demo.lumbridgecorp.com as well
One Caddy block, both names, same root. The prerendered HTML already carries <link rel="canonical"> and og:url pointing at the primeintellectgrowth name on every route, so the alias does not split search ranking or leave a shared link ambiguous about which site it belongs to. Verified byte-identical: both hostnames return the same sha256 for /demos/wordle. Worth recording why the alias failed before this rather than 404ing. lumbridgecorp.com resolves on a WILDCARD, so every subdomain of it points at cloud-2 whether or not Caddy knows the name. DNS completes, TLS opens, Caddy finds no certificate for that SNI and aborts the handshake — the browser reports ERR_SSL_PROTOCOL_ERROR, which reads as "the site is down" rather than "wrong hostname". primeintellectgrowth.com has no wildcard, which is why the canonical name needed an explicit A record. deploy.sh now smoke-tests the alias too: if the block is ever edited to drop the second name, the failure mode is a TLS error, and nothing else would catch it. The live block is mirrored into deploy/Caddyfile.demo so the config is reviewable in the repo rather than only on the host. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019mt6sHQHEnEYrJZvoMCJSB
This commit is contained in:
@@ -14,6 +14,11 @@ HOST="${PIG_DEMO_HOST:-ubuntu@100.92.185.76}"
|
||||
ROOT="/var/www/demo.primeintellectgrowth.com"
|
||||
SNAPS="${ROOT}-rollbacks"
|
||||
URL="https://demo.primeintellectgrowth.com"
|
||||
# Served from the same root under a second name. Checked because DNS for
|
||||
# lumbridgecorp.com is a WILDCARD: the alias resolves whether or not Caddy knows
|
||||
# about it, and an unconfigured name fails the TLS handshake outright rather
|
||||
# than 404ing — which reads as "the site is down", not "wrong hostname".
|
||||
ALIAS="https://demo.lumbridgecorp.com"
|
||||
|
||||
cd "$(dirname "$0")/.."
|
||||
|
||||
@@ -69,4 +74,8 @@ for path in /sitemap.xml /robots.txt /og/wordle.png; do
|
||||
[ "$code" = "200" ] || { echo "FAILED: $path returned $code"; exit 1; }
|
||||
done
|
||||
|
||||
alias_code=$(curl -sS -o /dev/null -w '%{http_code}' --max-time 30 "$ALIAS/" || echo 000)
|
||||
echo " alias $ALIAS -> $alias_code"
|
||||
[ "$alias_code" = "200" ] || { echo "FAILED: the alias hostname returned $alias_code"; exit 1; }
|
||||
|
||||
echo "==> live: $URL"
|
||||
|
||||
Reference in New Issue
Block a user