【问题标题】:Traefik unabe to create none www to www redirectTraefik 无法创建非 www 到 www 重定向
【发布时间】:2019-08-05 07:04:30
【问题描述】:

我无法创建无 www 重定向。 我尝试了对其他人有用的示例,但就我而言,没有任何事情发生。 有谁能够帮助我? 我正在使用带有 traefik:1.7.8-alpine 的 Kubernetes 1.13.5。 配置如下。

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: traefik
    traefik.ingress.kubernetes.io/redirect-entry-point: https
    traefik.ingress.kubernetes.io/redirect-permanent: "true"
    traefik.ingress.kubernetes.io/redirect-regex: ^https?://xn--neophytenbekmpfung-wtb.ch/?(.*)
    traefik.ingress.kubernetes.io/redirect-replacement: https://www.xn--neophytenbekmpfung-wtb.ch$${1}
    traefik.ingress.kubernetes.io/redirect-permanent: "true"
    ingress.kubernetes.io/protocol: http
    traefik.backend.loadbalancer.sticky: "true"
    traefik.ingress.kubernetes.io/affinity: "true"
    traefik.ingress.kubernetes.io/session-cookie-name: neophytenbekaempfung-sticky
    traefik.ingress.kubernetes.io/error-pages: |-
        fives:
          status:
          - "500-600"
          backend: global-default-backend
          query: "/500s.html"
        fouro3:
          status:
          - "403"
          backend: global-default-backend
          query: "/403.html"
        fours:
          status:
          - "400-499"
          backend: global-default-backend
          query: "/400s.html"
  name: neophytenbekaempfung-sitebuilder-ingress
  namespace:    sitebuilder
spec:
  rules:
  - host: xn--neophytenbekmpfung-wtb.ch
    http:
      paths:
      - backend:
          serviceName: sitebuilder-app-service
          servicePort: 80
        path: /
  - host: www.xn--neophytenbekmpfung-wtb.ch
    http:
      paths:
      - backend:
          serviceName: sitebuilder-app-service
          servicePort: 80
        path: /    

亲切的问候 格拉德隆

【问题讨论】:

    标签: traefik kubernetes-ingress traefik-ingress


    【解决方案1】:

    好的。 问题的原因很简单。 你不能用

        traefik.ingress.kubernetes.io/redirect-entry-point: https
        traefik.ingress.kubernetes.io/redirect-permanent: "true"
    

        traefik.ingress.kubernetes.io/redirect-regex: ^https?://xn--neophytenbekmpfung-wtb.ch/?(.*)
        traefik.ingress.kubernetes.io/redirect-replacement: https://www.xn--neophytenbekmpfung-wtb.ch$${1}
        traefik.ingress.kubernetes.io/redirect-permanent: "true"
    

    在一起。 原因可以在这里找到: https://github.com/containous/traefik/blob/v1.7/provider/kubernetes/kubernetes.go#L992

    这种特殊情况的解决方案如下所示。

        traefik.ingress.kubernetes.io/redirect-regex: ^http://.*?xn--neophytenbekmpfung-wtb.ch/|^https://xn--neophytenbekmpfung-wtb.ch/(.*)
        traefik.ingress.kubernetes.io/redirect-replacement: https://www.xn--neophytenbekmpfung-wtb.ch/$1
        traefik.ingress.kubernetes.io/redirect-permanent: "true"
    

    我需要将无 www 设置为 www 也将 http 设置为 https,通过此配置,我可以同时实现。

    希望这对面临同样问题的其他人有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-12
      • 2012-06-03
      • 2018-06-06
      • 2015-12-31
      相关资源
      最近更新 更多