keycloak 是一款著名地开源用户认证、授权管理软件。在微服务的架构下,我们一般会把类似的服务放在反向代理后面,但是如果直接通过设置反向代理服务器,keycloak 总是会使用自己的端口或者地址。我们可以使用 PROXY_ADDRESS_FORWARDING 环境变量来解决这个问题。下面是共参考的 docker-compose 文件:
version: '3'
services:
keycloak:
image: quay.io/keycloak/keycloak:latest
environment:
DB_VENDOR: POSTGRES
DB_ADDR: 172.26.198.xxx
DB_DATABASE: keycloak
DB_USER: username
DB_SCHEMA: public
DB_PASSWORD: password
KEYCLOAK_USER: admin
KEYCLOAK_PASSWORD: admin
PROXY_ADDRESS_FORWARDING: "true"
ports:
- 8082:8080
使用这个环境变量后,keycloak不再要求自己使用https服务,这样开发者就可以统一使用反向代理的 https 证书了。