Keycloak 21.1.1 Stuck on Loading Admin UI screen

Hi,

I’m currently working on a project integrating Keycloak with mysql deployed on azure vm using terraform. But somehow my admin console keeps on loading.

FROM quay.io/keycloak/keycloak:21.1.1

CMD [ "start-dev" ]

WORKDIR /opt/keycloak

EXPOSE 8080

ENV KEYCLOAK_ADMIN=Root
ENV KEYCLOAK_ADMIN_PASSWORD=sheep
ENV KC_DB=mysql
ENV KC_DB_USERNAME=root
ENV KC_DB_PASSWORD=sheep

ENV KC_HOSTNAME=20.84.86.27
ENV KC_DB_URL=jdbc:mysql://10.0.0.4:3306/Keycloakdb
ENV KC_HTTP_ENABLED=True
ENV KC_HOSTNAME_STRICT=false
ENV KC_HOSTNAME_STRICT_HTTPS=false
ENV KC_PROXY=edge
ENV KC_LOG=console 
ENV PROXY_ADDRESS_FORWARDING=true

The error message I’m having on my console is

error

“Timeout when waiting for 3rd party check iframe message.”
[[Prototype]].

Any suggestions on what could be wrong here?

are you access keycloak via ip in

and port 80 ?
you could set hostname-admin-url

Set the base URL for accessing the administration console, including scheme, host, port and path

CLI: --hostname-admin-url
Env: KC_HOSTNAME_ADMIN_URL

bin/kc.[sh|bat] start --hostname-admin-url=<scheme>://<host>:<port>/<path>

check Configuring the hostname - Keycloak

Hey @elsawy Thanks for pointing this out. I have changed my config and I’m able to access the admin console but for some reason it still requires https. Any suggestions on that?

FROM quay.io/keycloak/keycloak:21.1.1

CMD [ "start-dev" ]

WORKDIR /opt/keycloak

EXPOSE 8080

ENV KEYCLOAK_ADMIN=Root
ENV KEYCLOAK_ADMIN_PASSWORD=sheep
ENV KC_DB=mysql
ENV KC_DB_USERNAME=root
ENV KC_DB_PASSWORD=sheep
![Screenshot 2023-05-15 at 3.04.45 PM|690x365](upload://tfashGKXKxL0eOBcxLXMiLWyabJ.jpeg)

ENV KC_HOSTNAME=20.84.86.27
# ENV KC_HOSTNAME_ADMIN_URL=http://20.84.86.27:8080/auth/
ENV KC_DB_URL=jdbc:mysql://10.0.0.4:3306/Keycloakdb
ENV KC_HTTP_ENABLED=true
# ENV KC_HOSTNAME_STRICT=false
ENV KC_HOSTNAME_STRICT_HTTPS=false
ENV KC_PROXY=edge
ENV KC_LOG=console
# ENV PROXY_ADDRESS_FORWARDING=true
ENV KC_HOSTNAME_PORT=8080

Hey,

I have resolved this myself using this https://stackoverflow.com/questions/49859066/keycloak-docker-https-required/49874353#49874353 My updated dockerfile is shared below in case someone is facing similar issues.

FROM quay.io/keycloak/keycloak:21.1.1

CMD [ "start-dev" ]

WORKDIR /opt/keycloak

EXPOSE 8443

ENV KEYCLOAK_ADMIN=Root
ENV KEYCLOAK_ADMIN_PASSWORD=sheep
ENV KC_DB=mysql
ENV KC_DB_USERNAME=root
ENV KC_DB_PASSWORD=sheep

ENV KC_HOSTNAME=Public IPV4
# ENV KC_HOSTNAME_ADMIN_URL=http://20.84.86.27:8080/auth/
ENV KC_DB_URL=jdbc:mysql://InternalVM IP:3306/Keycloakdb
#ENV KC_HTTP_ENABLED=true
#ENV KC_HOSTNAME_STRICT=false
#ENV KC_HOSTNAME_STRICT_HTTPS=false
#ENV KC_PROXY=edge
ENV KC_LOG=console 
# ENV PROXY_ADDRESS_FORWARDING=true
# ENV KC_HOSTNAME_PORT=8443

ENV KC_HTTPS_CERTIFICATE_FILE=/opt/keycloak/conf/server.crt.pem
ENV KC_HTTPS_CERTIFICATE_KEY_FILE=/opt/keycloak/conf/server.key.pem
#ENV KC_HOSTNAME_PORT=8443

COPY server.crt.pem /opt/keycloak/conf/server.crt.pem
COPY server.key.pem /opt/keycloak/conf/server.key.pem