Skip to content

[Automated] Draft docs (agentgateway): http: normalize host header casing - #1457

Open
github-actions[bot] wants to merge 5 commits into
mainfrom
pr-tracker-draft-agentgateway-4233
Open

github-actions[bot] wants to merge 5 commits into
mainfrom
pr-tracker-draft-agentgateway-4233

Conversation

@github-actions

@github-actions github-actions Bot commented Nov 2, 2026 •

Copy link
Copy Markdown

Rendered output was not compared with the base build: the site does not build at the base commit ed3fb85, so rendering outside the declared versions is unchecked.

agentgateway/agentgateway#4233 — http: normalize host header casing

Docs versions: standalone/main, kubernetes/main

What changes for users: Requests whose Host header casing differs from the configured hostname can now match the intended route or listener. Agentgateway normalizes the hostname for lookup, and forwards the original Host header casing unchanged.

What the docs now say: The standalone Routes and Request matching pages now state that route and TCP hostname matching are case-insensitive. The Kubernetes Host matching page now says that a mixed-case Host header can match a lowercase HTTPRoute hostname and that the upstream request keeps the original header casing.

Not verified: No cluster or runtime was configured; the configuration is unrun, and internal links are unchecked.

How agentgateway-4233 was drafted, and what was not verified

Plan, and what changed it

  • Planned: Document case-insensitive Host and hostname matching on the standalone and Kubernetes pages that already describe hostname matching.
  • Learned: content/docs/standalone/main/documentation/configuration/routes.md owns the standalone routes[].hostnames field, while the shared Kubernetes route-delegation overview does not own Host-header behavior.
  • Did: Added the case-insensitive hostname behavior to the standalone Routes, standalone Request matching, and Kubernetes Host matching pages.

Why a documentation change is necessary

The pull request changes route and listener hostname lookup to compare hostnames case-insensitively, and its helper comment states that the original request Host header is forwarded unchanged. The target pages already describe hostname-based route matching, but did not say how hostname casing behaves. Without this update, a reader might assume that Host: EXAMPLE.com and hostnames: ["example.com"] do not match.

What changed on disk

  • content/docs/kubernetes/main/documentation/traffic-management/match/host.md: Added the Kubernetes HTTPRoute Host-header matching behavior.
  • content/docs/standalone/main/documentation/configuration/routes.md: Added the standalone routes[].hostnames casing behavior beside the field description.
  • content/docs/standalone/main/documentation/configuration/traffic-management/matching.md: Added the standalone TCP hostname matching casing behavior.

How to verify this change

  1. In standalone mode, run a route with hostnames: ["example.com"] and send a request with curl -i 127.0.0.1:3000/ -H "Host: EXAMPLE.com".
  2. In Kubernetes mode, apply the HTTPRoute from the Host matching guide and send a request with curl -vi http://$INGRESS_GW_ADDRESS:80/status/200 -H "host: HOST1.Example".
  3. The requests should match the configured example.com or host1.example hostname, and a backend that records request headers should see the original Host header casing.

Proposed release note

Wrote proposed-release-note.md because the change alters observable traffic routing behavior in both documented trees.

What was not verified

  • The configuration was not applied to a cluster or run locally, so every command in this diff is unrun.
  • Internal links are unchecked because Hugo was not run.
  • The original Host header casing was not captured from a runtime backend.
How the pages were chosen (triage report)

Draft a documentation change

agentgateway/agentgateway#4233 — http: normalize host header casing

  • Product: agentgateway (upstream) → agentgateway/website
  • Docs version: standalone/main, kubernetes/main
  • Summary (the title; the body has no description): http: normalize host header casing
  • Not tested: no cluster was available, so every command in this diff is unrun

Release notes

This pull request also adds its release-note entries:

  • content/docs/kubernetes/main/release-notes/release-notes.md: http: normalize host header casing (fix, under Traffic management, in a new 1.8 section)
  • content/docs/standalone/main/release-notes/release-notes.md: http: normalize host header casing (fix, under Traffic management, in a new 1.8 section)

Draft branch: pr-tracker-draft-agentgateway-4233

…sing

Drafts-Commit: f2d874d
Signed-off-by: GitHub Action <action@github.com>
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Nov 2, 2026 •

Copy link
Copy Markdown

Deploying agentproxy with  Cloudflare Pages  Cloudflare Pages

Latest commit: 6edf7c5
Status: ✅  Deploy successful!
Preview URL: https://a441ae05.agentproxy.pages.dev
Branch Preview URL: https://pr-tracker-draft-agentgatewa-cfkp.agentproxy.pages.dev

View logs

The release-notes entry for this change now lives in the combined
release-notes PR, #1482, so the draft PRs no longer conflict on
the release-notes pages.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Signed-off-by: Kristin Brown <kristin.brown@solo.io>
@kristin-kronstain-brown

Copy link
Copy Markdown
Collaborator

Moved this PR's release-notes entry to the combined release-notes PR, #1482, so the draft PRs stop conflicting on the release-notes pages. Review or change the entry there.

…match/host.md

Signed-off-by: Kristin Brown <kristin.brown@solo.io>
Signed-off-by: Kristin Brown <kristin.brown@solo.io>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Signed-off-by: Kristin Brown <kristin.brown@solo.io>
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