Tob*_*ner 11 reverse-proxy traefik
我想访问互联网上而不是我的 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"
Run Code Online (Sandbox Code Playgroud)
规则.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"
Run Code Online (Sandbox Code Playgroud)
改变:
- ./rules.yml:/etc/traefik/rules.yml
Run Code Online (Sandbox Code Playgroud)
到:
- /etc/traefik/rules.yml:/etc/traefik/rules.yml
Run Code Online (Sandbox Code Playgroud)
应该这样做!
PS感谢您的提问;真的很喜欢学习 Traefik 和 Keycloak!
| 归档时间: |
|
| 查看次数: |
11370 次 |
| 最近记录: |