Mig*_*nes 0 nginx docker docker-swarm traefik
我试过这个:
version: "3.3"
services:
traefik:
image: "traefik:latest"
command:
- --api.insecure=true
- --providers.docker=true
- --providers.docker.exposedbydefault=false
- --api=true
- --api.dashboard=true
- --entrypoints.web.address=:80
- --log.filePath=/home/docker/traefik.log
- --log.level=DEBUG
ports:
- "80:80"
- "8080:8080"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
whoami:
image: "containous/whoami"
labels:
- "traefik.enable=true"
- "traefik.http.routers.whoami.rule=Host(`whoami.traefik.kb`) && Path(`/who`)"
- "traefik.http.routers.whoami.entrypoints=web"
- "traefik.http.routers.whoami.service=whoami"
- "traefik.http.services.whoami.loadbalancer.server.port=80"
nginx:
image: "nginx:alpine"
labels:
- "traefik.enable=true"
- "traefik.http.routers.nginx.rule=Host(`nginx.traefik.kb`) && Path(`/ng`)"
- "traefik.http.routers.nginx.entrypoints=web"
- "traefik.http.routers.nginx.service=nginx"
- "traefik.http.services.nginx.loadbalancer.server.port=80"
nginx2:
image: "nginx:alpine"
labels:
- "traefik.enable=true"
- "traefik.http.routers.nginx2.rule=Host(`nginx2.traefik.kb`)"
- "traefik.http.routers.nginx2.entrypoints=web"
- "traefik.http.routers.nginx2.service=nginx2"
- "traefik.http.services.nginx2.loadbalancer.server.port=80"
Run Code Online (Sandbox Code Playgroud)
我在 docker swarm 中使用这个堆栈。我的问题是当我尝试访问nginx.traefik.kb/ng 时,我从 nginx 得到 404。使用 whoami 图像和 url whoami.traefik.kb/who我没有任何问题,使用nginx2.traefik.kb也没有...
我只有这个配置文件,没有 traefik.yml 左右。
有任何想法吗??谢谢!!
解决了!
添加这个:
- "traefik.http.middlewares.nginx-prefix.stripprefix.prefixes=/ng"
- "traefik.http.routers.nginx.middlewares=nginx-prefix"
Run Code Online (Sandbox Code Playgroud)
有了这个,我不能去http://example.com/ng并让 nginx 运行
| 归档时间: |
|
| 查看次数: |
1613 次 |
| 最近记录: |