kubernetes - 为什么 Traefik v2 仅通过 http 响应 404

标签 kubernetes yaml traefik traefik-ingress

我的问题是,我的 kubernetes 集群中的 traefik 入口 Controller 确实通过 http 响应 404 page not foundBUT 通过 https 我从服务中得到了真实的响应。

这是在我将 TLS 部分添加到 IngressRoute 后发生的。

这是我的 IngressRoute:

apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
  name: example-backend
  namespace: example
spec:
  entryPoints:
    - web
    - websecure
  routes:
  - match: Host(`api.example.com`)
    kind: Rule
    priority: 10
    services:
    - name: example-backend-service
      port: 80
  tls:
    secretName: tls-secret # I'm using my own certificate, not Let's Encrypt

为什么我没有得到像 https 那样的真实/相同的响应?

最佳答案

由于 TLS 适用于路由器,因此您不能只有一个 IngressRoute 来处理这 2 种情况。

apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
  name: example-backend
  namespace: example
spec:
  entryPoints:
    - websecure
  routes:
  - match: Host(`api.example.com`)
    kind: Rule
    priority: 10
    services:
    - name: example-backend-service
      port: 80
  tls:
    secretName: tls-secret

---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
  name: example-backend-redirect
  namespace: example
spec:
  entryPoints:
    - web
  routes:
  - match: Host(`api.example.com`)
    kind: Rule
    priority: 10
    services:
    # in this IngressRoute the service will be never called
    # because of the redirect middleware.
    - name: example-backend-service
      port: 80
    middlewares:
    - name: https_redirect

---
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
  name: https_redirect
spec:
  redirectScheme:
    scheme: https
    permanent: true

关于kubernetes - 为什么 Traefik v2 仅通过 http 响应 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60043746/

相关文章:

Ruby解析JSON.load和YAML.load生成不同的 key 类型

kubernetes - 有没有办法在 Pod 状态为 'Completed' 后通过 YAML 自动删除它们?

iphone - NSInputStream 使用本地文件,而不是从服务器拉取的文件

docker - 在Docker中配置Traefik以路由子文件夹

docker - Traefik的ProxyPass/ProxyPassReverse

node.js - Mongoose无法连接: Error: querySrv ENOTIMP mongodb. tcp.cluster1-owfxv.mongodb.net

kubernetes - 如何为将HTTP重定向到https的容器正确配置ReadinessProbeProbe?

kubernetes - 是否可以将多个入口与 IBM Cloud Kubernetes 服务合并?

kubernetes - kubernetes中的traefik入口自定义错误

kubernetes - 无法使用 multus 向 pod 添加第二个接口(interface) - minikube