我想访问互联网上而不是我的docker网络上的Keycloak服务器。我想将Keycloak服务器的域隐藏在自己的域之后。因此,如果我转到http:// localhost / auth /,则应该显示Keycloak服务器的页面。我不想重定向到实际的Keycloak服务器。
我尝试了以下配置,但是它不起作用。当我转到http:// localhost / auth时,出现“找不到404页面”。我希望你能帮助我。非常感谢您的帮助:)
docker-compose.yml
version: "3.7"
services:
proxy:
image: traefik:v2.2
command:
- "--api.insecure=true"
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--providers.file=true"
- "--providers.file.filename=/etc/traefik/rules.yml"
- "--entrypoints.web.address=:80"
ports:
- 80:80
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./rules.yml:/etc/traefik/rules.yml
website:
image: containous/whoami
labels:
- "traefik.enable=true"
- "traefik.http.routers.website.rule=Host(`localhost`)"
- "traefik.http.routers.website.entrypoints=web"
rules.yml
http:
routers:
my-route:
rule: "Host(`localhost`) && PathPrefix(`/auth`)"
service: my-keycloak-server
services:
my-keycloak-server:
loadBalancer:
servers:
- url: "https://keycloak.domain.com/auth"
答案 0 :(得分:2)
更改:
- ./rules.yml:/etc/traefik/rules.yml
收件人:
- /etc/traefik/rules.yml:/etc/traefik/rules.yml
应该这样做!
P.S。 谢谢你的问题;非常了解Traefik和Keycloak!