使用自定義證書
需要先生成一對證書,其中.crt文件是公鑰,也叫證書,在瀏覽器上可以看到;.key文件是私鑰,由網站服務器自己保留。
keycloak ssl
- keycloak的ssl默認有自己的自簽名證書,這個如果涉及到你的程序調用kc的接口,kc使用自定義證書是不行的,你調不通,使用使用正規的證書
- ssl的https端口是8443,在使用docker啟動時,監聽它即可
- ssl的自定義證書目錄是/etc/x509/https,使用docker時,把自定義證書掛載到這個目錄即可
為什么要使用https
對於跨站共享cookie來說,你需要使用samesite,secure等屬性,而samesite:none這個是可以跨站的,而它依賴於secure:true,而這個值它只有在https協議下才有效!
docker啟動ssl的keycloak
docker rm -f keycloak && docker run --name keycloak -d \
-p 8443:8443 \
-p 8080:8080 \
-e KEYCLOAK_USER=admin \
-e KEYCLOAK_PASSWORD=admin \
-e DB_VENDOR=MYSQL \
-e DB_ADDR=192.168.1.5\
-e DB_DATABASE=keycloak \
-e DB_USER=root \
-e DB_PASSWORD=123456 \
-e JDBC_PARAMS='useSSL=false' \
-e TZ=Asia/Shanghai \
-e LANG=zh_CN.GB2312 \
-v /etc/localtime:/etc/localtime \
-v /root/jar/target/cert/:/etc/x509/https \
--privileged=true \
--restart=always \
--add-host kafka1:192.168.1.5
jboss/keycloak