Traefik-强制返回不存在的子域404

时间:2019-02-18 15:14:33

标签: subdomain reverse-proxy traefik

问题

我正在尝试为我的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?

0 个答案:

没有答案