You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Switch to per-package subdomains and drop public-host redirect (#117)
* Switch to per-package subdomains and drop public-host redirect
`Hexdocs.Utils.hexdocs_url/3` now emits `https://PACKAGE.hexdocs.pm/path`
for the hexpm repo. The sitemap keeps apex URLs via a new
`hexdocs_apex_url/1` helper so Googlebot still discovers packages via
the apex 301 chain.
The Plug-level `*.hexdocs.pm -> *.hexorgs.pm` redirect arm is removed.
The Fastly Compute service will handle that redirect once the DNS flip
lands; this app now only serves the `*.hexorgs.pm` (private/org) path.
* Map underscore to hyphen in hexpm-repo subdomain URLs
Hex package names allow underscores (^[a-z][a-z0-9_]*$). RFC 1123
hostname labels and RFC 6125 wildcard SAN matching don't, and Fastly
enforces strict SAN matching at the HTTP edge — phoenix_live_view.hexdocs.pm
returns 421 'Misdirected Request' even though the wildcard cert
technically covers *.hexdocs.pm.
Hexdocs.Utils.hexdocs_url/3 for the hexpm-repo branch now maps _ -> -
when building the subdomain. The mapping is reversed in the Fastly
Compute subdomain handler before building the GCS bucket key, so
canonical hex names continue to be the storage key.
The org-repo branch is unchanged: org subdomains live under hexorgs.pm,
which still A-records to GKE and doesn't enforce strict SAN matching.
Queue test updated for the new URL shape.
0 commit comments