我想在docker中配置我的Trafik安装,以使用子文件夹而不是子域。我知道它应该可以工作,正如我在其他帖子中已经读到的那样。 但是,我不明白自己在做什么错...
我在测试域中的Docker具有FQDN ubuntudocker.domain.qa(并且我还为traefik.ubuntudocker.domain.qa定义了别名)
这是我的撰写文件: 使用子域的设置可以很好地工作,但是如果我在路径中使用了注释掉的变体,则不能。在我的浏览器中,我只会看到“找不到路径”。
version: '3'
services:
traefik:
image: traefik:v2.0
container_name: traefik
restart: unless-stopped
security_opt:
- no-new-privileges:true
networks:
- proxy
ports:
- 80:80
volumes:
- /etc/localtime:/etc/localtime:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./data/traefik.yml:/traefik.yml:ro
- ./data/acme.json:/acme.json
labels:
- "traefik.enable=true"
- "traefik.http.routers.traefik.entrypoints=http"
- "traefik.http.routers.traefik.rule=Host(`traefik.ubuntudocker.domain.qa`)"
#- "traefik.http.routers.traefik.rule=Host(`ubuntudocker.domain.qa`) && Path(`/traefik`)"
- "traefik.http.routers.traefik.service=api@internal"
networks:
proxy:
external: true
和我的traefik.yml设置文件:
api:
dashboard: true
log:
level: INFO
entryPoints:
http:
address: ":80"
providers:
docker:
endpoint: "unix:///var/run/docker.sock"
exposedByDefault: false
非常感谢您!
答案 0 :(得分:0)
尝试使用PathPrefix(`/ traefik`)而不是Host(`traefik.ubuntudocker.domain.qa`)。
答案 1 :(得分:0)
以防万一,请尝试使用此
(Host(`ubuntudocker.domain.qa`)&& PathPrefix(`/ traefik`))