我正在尝试为我的docker服务和非docker服务设置Traefik代理。 所有docker服务都正常运行。我正在使用两个子域,即admin和app(例如,在app.domain.eu/上),但是现在我遇到了未定义的子域的问题。
我在traefik.toml的开头设置了从http到https的强制入口点重定向,并且工作正常。当我在该子域上打开不存在的网站时,它返回404,这很好。 但是,当我访问不存在的子域(如asdf.domain.eu/)时,会引发关于不安全连接的错误(因为我没有通配符证书)。
我想为所有这些子域返回404。
我试图设置正则表达式主机规则,将每个子域都重定向到domain.eu/,但是它不起作用,显示连接不安全。
我还尝试了在该前端上进行入口点覆盖,因此它将仅进入http,并且也无法正常工作。
traefik.toml中的入口点重定向:
[entryPoints]
[entryPoints.http]
address = ":80"
[entryPoints.http.redirect]
entryPoint = "https"
[entryPoints.https]
address = ":443"
[entryPoints.https.tls]
在rules.toml中重定向
[frontends.frontend-apache2-web-subdomains]
backend = "apache2-web"
priority = 1
entrypoints = ["http"] #bypass https for this, not working
passHostHeader = true
[frontends.frontend-apache2-web-subdomains.routes.root]
rule = "HostRegexp: {subdomain:[a-z]+}.domain.eu" # match all subdomains
[frontends.frontend-apache2-web-subdomains.redirect]
regex = "^(.*).domain.eu/(.*)$"
replacement = "https://domain.eu/"
permanent = true
但是我在想更好的结果是,如果它只是在错误的网站上显示404而不是重定向,是否可以代替重定向到domain.eu?
Traefik-不存在的子域-Web浏览器尝试连接,但抱怨HTTPS。在这种情况下,traefik如何发送404?