1

我想为在 Kubernetes (EKS) 上运行的 traefik (1.7.11) 入口控制器创建基于 IP 的子域访问规则。允许所有 IP 与外部/前端入口点通信

traefik.toml: |
  defaultEntryPoints = ["http","https"]
  logLevel = "INFO"
  [entryPoints]
    [entryPoints.http]
      address = ":80"
      compress = true
      [entryPoints.http.redirect]
      entryPoint = "https"
      [entryPoints.http.whiteList]
      sourceRange = ["0.0.0.0/0"]
    [entryPoints.https]
      address = ":443"
      compress = true
      [entryPoints.https.tls]
      [entryPoints.https.whiteList]
      sourceRange = ["0.0.0.0/0"]

但是我们只有prod在这个集群中运行的环境。

想要限制某些端点,例如monitoring.domain.com可从有限 IP(办公室位置)访问,并保持*.domain.com(默认)可从公共 Internet 访问。

反正我能做到traefik吗?

4

1 回答 1

1

您可以尝试在Ingress对象上使用traefik.ingress.kubernetes.io/whitelist-source-range: "x.x.x.x/x, xxxx::/x" Traefik 注释。您还可以拥有 4 个 Ingress 对象。每个,和一个。stage.domain.comqa.domain.comdev.domain.comprod.domain.com

prod.domain.com除了您可以添加白名单之外的任何其他内容。

另一种选择是更改您的traefik.toml使用,但您可能必须为每个环境[entryPoints.http.whitelist]使用具有不同入口类的不同入口控制器。

于 2019-05-17T20:46:11.470 回答