我肯定做错了什么,但是.为什么每个对Traefik服务器的请求都返回404?
这里是traefik.yaml:
entryPoints:
web:
address: ":80"
websecure:
address: ":443"
traefik:
address: ":9000"
providers:
file:
filename: traefik-routes.yaml
accessLog: {}
api:
insecure: true
dashboard: true
和traefik- with .with我正在尝试用PathPrefix(
/)
设置一个全捕获的路由
http:
routers:
mistserver:
service: mistserver
rule: PathPrefix(`/`)
priority: 100
services:
mistserver:
loadBalancer:
servers:
- url: http://localhost:8080/
tls:
certificates:
- certFile: tls.crt
keyFile: tls.key
访问日志显示请求与任何路由器不匹配。为什么?
[root@krabbucket traefik]# ./traefik --log.level=d
INFO[0000] Configuration loaded from file: /root/traefik/traefik.yaml
192.168.137.119 - - [09/Mar/2022:11:16:03 +0000] "GET / HTTP/2.0" - - "-" "-" 2 "-" "-" 0ms
192.168.137.119 - - [09/Mar/2022:11:16:03 +0000] "GET / HTTP/2.0" - - "-" "-" 3 "-" "-" 0ms
192.168.137.119 - - [09/Mar/2022:11:16:03 +0000] "GET / HTTP/2.0" - - "-" "-" 4 "-" "-" 0ms
发布于 2022-03-24 04:53:09
在这种情况下,Traefik需要对TLS和non分别使用不同的路由。这一修订后的traefik-routes.yaml
起了作用:
http:
routers:
mistserver:
service: mistserver
rule: PathPrefix(`/`)
priority: 100
mistserver-tls:
service: mistserver
rule: PathPrefix(`/`)
priority: 100
tls: {}
services:
mistserver:
loadBalancer:
servers:
- url: http://localhost:8080/
tls:
certificates:
- certFile: tls.crt
keyFile: tls.key
发布于 2022-03-09 04:12:49
当traefik试图将您路由到它解析为traefik本身的服务时,您的服务URL被定义为http://localhost:8080/
。
你是想接近仪表盘吗?如果是这样,则将服务设置为api@internal
。
http:
routers:
mistserver:
service: api@interna
rule: PathPrefix(`/`)
priority: 100
然后您可以通过http://your-ip/dashboard/#/
到达仪表板。
否则,您的路由器和服务名称mistserver
看起来就像您试图在机器上找到什么东西一样。如果是这样的话,您就不能使用localhost来访问您的计算机,因为这将解决traefik本身。
相反,您可以使用您的公共ip地址,而不是本地主机,或者在主机模式中运行traefik。
https://stackoverflow.com/questions/71407858
复制