网络上一些基于http搭建的keycloak基本上是无法登录的。 经过我多次试错,发现https搭建的keycloak 可以登录。
参考:https://stackoverflow.com/questions/49859066/keycloak-docker-https-required/49874353
Keycloak 17+
(例如quay.io/keycloak/keycloak:17.0.0)不支持自签名证书的自动生成。Keycloak 17+ 的最小 HTTPS 工作示例:
下载好镜像
docker pull ? quay.io/keycloak/keycloak:17.0.0?
生成自签名域证书/密钥(按照终端上的说明进行操作):
openssl req -newkey rsa:2048 -nodes \
? -keyout server.key.pem -x509 -days 3650 -out server.crt.pem
更新密钥的权限
chmod 755 server.key.pem
启动 Keycloak(使用卷作为证书/密钥)
docker run \
? --name keycloak \
? -e KEYCLOAK_ADMIN=admin \
? -e KEYCLOAK_ADMIN_PASSWORD=password \
? -e KC_HTTPS_CERTIFICATE_FILE=/opt/keycloak/conf/server.crt.pem \
? -e KC_HTTPS_CERTIFICATE_KEY_FILE=/opt/keycloak/conf/server.key.pem \
? -v $PWD/server.crt.pem:/opt/keycloak/conf/server.crt.pem \
? -v $PWD/server.key.pem:/opt/keycloak/conf/server.key.pem \
? -p 8443:8443 \
? quay.io/keycloak/keycloak:17.0.0 \
? start-dev
使用此设置,Keycloak 将使用 HTTPS 协议在端口 8443 上公开
|