Skip to content

Fly deploy: explicitly create the .fly.dev managed cert#43

Merged
dougdevitre merged 1 commit into
mainfrom
claude/fly-create-cert
May 16, 2026
Merged

Fly deploy: explicitly create the .fly.dev managed cert#43
dougdevitre merged 1 commit into
mainfrom
claude/fly-create-cert

Conversation

@dougdevitre
Copy link
Copy Markdown
Owner

Why

App is fully healthy on Fly (machine running, internal health checks passing, clean logs), but the public cotrackpro-talk.fly.dev URL keeps returning:

HTTP/2 403
x-deny-reason: host_not_allowed
Host not in allowlist

This response comes from Fly's edge proxy, not the app. Fly's shared-IP edge routes by SNI/Host header — if there's no managed cert on file for the hostname, the proxy denies traffic before it ever reaches the machine. For brand-new accounts the .fly.dev auto-cert flow occasionally stalls, and the explicit fly certs create is needed to kick Let's Encrypt issuance.

Fix

Add a step between Deploy and Resume that ensures the cert exists. The step is idempotent — skips creation if the cert is already there.

Doing this via the workflow rather than the user's CLI because their local fly auth login has been failing to connect.

Test plan


Generated by Claude Code

Fly's shared-IP edge routes by SNI/Host header. If there's no
managed cert on file for the app's .fly.dev hostname, the proxy
returns 403 with `x-deny-reason: host_not_allowed` before the
request ever reaches the machine — even when the app itself is
deployed and healthy.

For brand-new accounts the .fly.dev auto-cert flow occasionally
stalls. Explicit `fly certs create` reliably triggers Let's Encrypt
issuance. Idempotent: skips creation if the cert already exists.
@vercel
Copy link
Copy Markdown

vercel Bot commented May 16, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
cotrackpro-talk Ready Ready Preview, Comment May 16, 2026 8:36pm

Request Review

@dougdevitre dougdevitre merged commit 44c402a into main May 16, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants