URL路由(而不是子域路由)不起作用

时间:2020-09-02 17:24:34

标签: reverse-proxy traefik

我正在尝试使用traefik为我的LAN上的docker / docker-compose设置一个超级简单的反向代理。问题是因为我没有域名,我试图访问(例如)URL(我的服务器存储在192.168.1.2上)“ 192.168.1.22/whoami”上的服务“ whoami”。我发现大多数配置都将其设置为“ subdomain.domain.com”之类的东西。这是我的docker-compose:



services:


traefik:

image: traefik

container_name: traefik

command:

- "--api.insecure=true"

- "--providers.docker=true"

- "--providers.docker.exposedbydefault=false"

- "--entrypoints.web.address=:80"

ports:

- 80:80

- 8080:8080

volumes:

- "/var/run/docker.sock:/var/run/docker.sock:ro"


whoami:

image whoami

container_name: whoami

labels:

- "traefik.enable=true"

- "traefik.http.routers.whoami.rule=Host(`192.168.1.2`) && Path(`/whoami`)"

- "traefik.http.routers.whoami.entrypoints=web"

restart: unless-stopped

当我访问192.168.1.2:8080时,仪表板加载,但是当我尝试访问192.168.1.2/whoami时,它给了我这个错误:“未找到。找不到您请求的URL(/ whoami)。生成者darkhttpd / 1.12“。但是,当我访问其他网址(例如192.168.1.2/badurl)时,它只会引发错误“找不到404页”。

如果您需要更多信息,请随时提出并感谢。

1 个答案:

答案 0 :(得分:0)

针对您的问题的简单解决方案可能是在主机规则中使用域,而只需在计算机上添加主机条目即可将该域定向到IP。

还要在仪表盘上检查路由器确实进行了注册。如果不是这样,Traefik会在调试级别上记录有关问题的详细信息。