我有一个 docker-compose 设置,服务 1(grafana)向服务 2(prometheus)发送请求。我在服务 2 前面放置了一个 Keycloak Gatekeeper,要求进行身份验证。这工作得很好。
现在我的想法是在服务 1 前面放置第二个 Keycloak Gatekeeper,注入所述身份验证。
不幸的是,这不起作用。通过wireshark观察我的流量,似乎我的第二个Keycloak Gatekeeper甚至没有参与任何通信。
我的服务 1 和转发代理的 docker compose 文件大致如下所示:
keycloak-forwarder:
image: quay.io/keycloak/keycloak-gatekeeper
command:
- --enable-forwarding=true
- --forwarding-username=<my_username>
- --forwarding-password=<my_password>
- --forwarding-domains=${BASE_DOMAIN}/grafana
- --listen=:3001
- --client-id=<my_keycloak_client_id>
- --client-secret=<my_keycloak_client_secret>
- --discovery-url=${DOMAIN_PROTOCOL}://${KEYCLOAK_DOMAIN}/auth/realms/<my_keycloak_realm>
networks:
- webgateway
grafana:
image: grafana/grafana
networks:
- webgateway
labels:
traefik.enable: true
traefik.backend: grafana
traefik.frontend.rule: Host:${BASE_DOMAIN};PathPrefix:/grafana;PathPrefixStrip:/grafana
traefik.port: 3000
traefik.docker.network: webgateway