traefik - Traefik - 找不到对象 404
问题描述
我有这些规则:
[backends]
[backends.pma]
[backends.pma.servers.server1]
url = "http://phpmyadmin:80"
[backends.rabbitmq]
[backends.rabbitmq.servers.server1]
url = "http://rabbitmq:15672"
[frontends]
[frontends.pma]
backend = "pma"
[frontends.pma.routes.test_1]
rule = "Host:pma.example.it"
passHostHeader = true
[frontends.rabbitmq]
backend = "rabbitmq"
[frontends.rabbitmq.routes.test_1]
rule = "Host:pma.example.it;Path:/rabbitmq"
主机 pma.example.it 工作,我看到 phpmyadmin,主机 pma.example.it/rabbitmq 不工作,我有{"error":"Object Not Found","reason":"Not Found"}
.
但是,如果我输入它,从 traefik 容器中curl http://rabbitmq:15672
工作。有任何想法吗?
解决方案
您可以尝试使用PathPrefix
而不是Path
作为规则。
请注意,您的配置中有一个小错字:
[backends]
[backends.pma] # <---
[backends.pma.servers.server1]
url = "http://phpmyadmin:80"
[backends.rabbitmq] # <---
[backends.rabbitmq.servers.server1]
url = "http://rabbitmq:15672"
[frontends]
[frontends.pma]
backend = "pma"
[frontends.pma.routes.test_1]
rule = "Host:pma.example.it"
passHostHeader = true
[frontends.rabbitmq]
backend = "rabbitmq"
[frontends.rabbitmq.routes.test_1]
rule = "Host:pma.example.it;Path:/rabbitmq"
推荐阅读
- google-chrome-extension - Chrome 扩展 - declarativeNetRequest 删除 requestHeader “origin” 不起作用
- jenkins - Jenkins 不会从 perforce 运行我的构建脚本
- python - Pandas:对同一类别的列求和的简单方法
- javascript - RXJS 方式在按钮单击后取消订阅但有机会再次订阅
- swift - 当 url 包含国际化域名 (IDN) 时,Swift URL 返回 nil
- github - 如何取消查看/切换 GitHub 拉取请求上的所有已查看文件?
- python - ModuleNotFoundError:在 jupyter notebook 中安装的包没有名为“xgboost”的模块错误
- javascript - componentWillUpdate 被无限调用,即使有条件
- java - 无法处理 jar 文件中的按钮单击
- wso2 - 第一个使用 WSO2 APIM 4.0.0 的 API,创建似乎很好,但尝试调用 API 时出现 HTTP 404