Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Keycloak Docker behind loadbalancer with https fails

I am trying to use clustered keycloak docker behind the A10 load balancer. I am trying access all the request by https from the client application. My issue is that the same setup is working when we try to access keycloak has HTTP but at the same time when we try to access this has HTTPS it is not working. Can anyone help me to solve this issue? Please let me know whether the issue is in the keycloak level or A10 load balancer level.

like image 481
Shobanil more Avatar asked Nov 02 '17 05:11

Shobanil more


2 Answers

I know this is an older question, but I couldn't find a satisfying answer anywhere and I wanted to share my solution. This eventually worked for me in an AWS Environment with an Application Load Balancer:

Run the keycloak docker container with the environment variable PROXY_ADDRESS_FORWARDING=true

As seen in the keycloak docker documentation:

When running Keycloak behind a proxy, you will need to enable proxy address forwarding.

like image 54
Serkash Avatar answered Nov 14 '22 02:11

Serkash


I don't know A10, but you have to ensure that it sets the request headers X-Forwarded-For and X-Forwarded-Proto. Then you have to configure Keycloak (Wildfly, Undertow) to work together with the SSL terminating reverse proxy (aka load balancer). See http://www.keycloak.org/docs/latest/server_installation/index.html#_setting-up-a-load-balancer-or-proxy for a detailed description.

like image 44
Boomer Avatar answered Nov 14 '22 02:11

Boomer