Redirect 重定向traefik中的未知地址

Redirect 重定向traefik中的未知地址,redirect,reverse-proxy,docker-swarm,traefik,Redirect,Reverse Proxy,Docker Swarm,Traefik,如何设置traefik重定向所有未知地址?我的意思是,我使用docker swarm和traefik,我有两个服务,在标签中设置了规则: “traefik.http.routers.app.rule=Host(`app.example.com`)” “traefik.http.routers.else.rule=Host(`else.example.com`)” 等等 我想要的是处理找不到匹配规则的请求,例如lalala.example.com->example.com 我尝试在我的trae

如何设置traefik重定向所有未知地址?我的意思是,我使用docker swarm和traefik,我有两个服务,在标签中设置了规则:

  • “traefik.http.routers.app.rule=Host(`app.example.com`)”
  • “traefik.http.routers.else.rule=Host(`else.example.com`)”
  • 等等
我想要的是处理找不到匹配规则的请求,例如
lalala.example.com
->
example.com

我尝试在我的traefik容器标签部分添加以下内容:

- "traefik.http.routers.default.rule=HostRegexp(`{host:.+}`)"
- "traefik.http.routers.default.entrypoints=web,websecure"
- "traefik.http.routers.default.priority=1"
- "traefik.http.routers.default.middlewares=default-redirect"
- "traefik.http.middlewares.default-redirect.redirectregex.regex=.*"
- "traefik.http.middlewares.default-redirect.redirectregex.replacement=https://example.com"
但是,这不起作用,每次尝试请求不存在的地址都会以以下结果结束:

Websites prove their identity via certificates. Firefox does not trust this site because it uses a certificate that is not valid for lalala.example.com. The certificate is only valid for <some_random_id>.traefik.default.
 
Error code: MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT
网站通过证书证明其身份。Firefox不信任此网站,因为它使用的证书对lala.example.com无效。该证书仅对.traefik.default有效。
错误代码:MOZILLA\u PKIX\u错误\u自签名\u证书

Letsencrypt在我现有的服务上运行良好,如果相关的话,我也会将所有http重定向到https。

尝试使用以下标签通过中间件设置重定向

- traefik.http.middlewares.default_host.redirectregex.regex=^https://(.*)?example.com(.*)$$
- traefik.http.middlewares.default_host.redirectregex.replacement=https://example.com
- traefik.http.middlewares.default_host.redirectregex.permanent=true
- traefik.http.routers.http_catchall.rule=HostRegexp(`{any:.+}`)
- traefik.http.routers.http_catchall.entrypoints=web,websecure
- traefik.http.routers.http_catchall.middlewares=bevision
您还需要确保lets encrypt可以处理所有域的SSL证书(您需要一个通配符证书)

- traefik.http.routers.wildcard.tls=true
- traefik.http.routers.wildcard.tls.certresolver=route53
- traefik.http.routers.wildcard.tls.domains[0].main=example.com
- traefik.http.routers.wildcard.tls.domains[0].sans=*.example.com