fix(k8s): keep Keycloak's backchannel URLs https behind the labs Caddy (refs #177) #180
Open
not
wants to merge 1 commits from
fix/keycloak-proxy-headers into main
pull from: fix/keycloak-proxy-headers
merge into: :main
:main
:fix/keycloak-proxy-headers
:feat/demo-otp-autofill
:fix/182-celery-concurrency
:feat/public-host-caddy
:ci/175-deploy-on-merge
:feat/177-public-tls-edge
:ci/168-helm-chart-ci-gate
:docs/169-mkdocs-nav
:feat/25-helm-kubernetes-caddy
:fix/161-e2e-bounded-and-diagnosable
:feat/162-werkbak-live-refresh
:feat/132-medewerker-mfa
:fix/156-tempo-ingester-healthcheck
:feat/153-projection-sourced-from-objecten
:feat/152-objecten-publishes-to-nrc
:feat/149-acl-writes-registerrecord
:feat/141-registerrecord-objecttype
:perf/verify-stack-uwsgi-oz-nrc
:fix/144-verify-stack-uwsgi
:feat/140-objecten-up
:feat/139-objecttypen-up
:feat/131-default-fill-crud
:chore/136-ci-job-summaries
:fix/134-verify-stack-scheduling
:feat/130-beheer-catalogi
:feat/124-metrics-dashboards
:ci/127-parallel-jobs
:feat/123-distributed-traces
:feat/111-self-service-resume
:feat/113-acl-zaaktype-by-identificatie
:fix/110-compose-local-flow
:fix/115-e2e-single-worker
:docs/111-backlog-s26
:feat/106-close-zaak-on-timeout
:feat/103-diploma-upload-documenten
:feat/102-document-wait-timeout
:feat/14-dmn-diploma-eligibility
:feat/15-beoordeling-escalation
:fix/portal-nginx-resolver
:fix/local-eventsubscriber-acl
:feat/12-withdrawal-portal
:fix/91-local-compose-parity
:feat/12-withdrawal-bff
:feat/12-withdrawal-workflow
:feat/12-withdrawal
:feat/13-behandel-portal
:feat/13-behandel-decide
:feat/13-behandel-bff-auth-werkbak
:feat/13-workflow-user-tasks
:feat/13-behandel-decision-model
:chore/release-2026.07.0
:feat/78-reference-correlation
:feat/75-approval-flow
:feat/10-openbaar-portal
:chore/73-ci-speedups
:feat/68-e2e
:feat/67-self-service-form
:feat/66-api-client
:feat/65-nx-workspace
:feat/8-bff
:feat/6-domain-service
:feat/7-event-subscriber-projection
:feat/56-nrc-notification-wiring
:test/46-acl-openzaak-integration
:feat/47-acl-mutation-baseline
:ci/30-gitea-actions-ci
:feat/5-acl-open-zaak
:feat/4-flowable
:feat/3-keycloak
:feat/2-opennotificaties
:feat/2-catalogus-seed
:feat/10-openzaak-compose
:feat/32-docs-scaffold
:feat/31-contributor-workflow
:feat/30-gitea-actions-ci
:feat/29-bff-docker-compose
:chore/remove-bootstrap-scripts
:feat/28-bff-health
:docs/split-s00
No Reviewers
No labels
Milestone
No items
No Milestone
Projects
Clear projects
No projects
Assignees
eho (Edwin van den Houdt)
Clear assignees
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: eho/register-referentie#180
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
What & why
Follow-up to #179. After login through
https://big-mijn.labs.respellion.tech, the browser blocked the token request as mixed content.KC_HOSTNAME_BACKCHANNEL_DYNAMIC=truemakes Keycloak build its token, userinfo and certs URLs from the incoming request. Behind the labs Caddy that request arrives as plainhttp, so the discovery document listedhttp://big-auth…/token.KC_PROXY_HEADERS=xforwardedmakes Keycloak trust theX-Forwarded-Proto: httpsthat Caddy sends. In-cluster calls (the BFF →keycloak:8080) carry no such header, so they are unchanged, and so is the localhost/NodePort setup.Refs #177
Definition of Done
refs #NN).Notes for reviewers
kubectl set envand checked it. Both realms' discovery documents now have 0http://URLs, and ajan-burgertoken from the public Keycloak still gets a 204 from the BFF. Merging keeps the next deploy from reverting it.X-Forwarded-*from anything that can reach it. Its only entry points are in-cluster callers and the NodePort, which the reverse tunnel exposes only to Caddy.KC_PROXY_TRUSTED_ADDRESSEScould narrow that if the NodePort is ever exposed more widely.🤖 Generated with Claude Code
3c3c1f7a17to61730657e6View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.