You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Traefik Middleware redirectRegex 失效问题排查求助

问题排查与解决:Traefik redirectRegex中间件导致网站无法访问

问题背景

Kubernetes集群中通过Traefik暴露网站,原Ingress配置可正常访问my-cool-website.com和www.my-cool-website.com,但添加redirectRegex中间件实现非www到www的重定向后,网站出现Traefik默认页面,重定向功能失效。

核心问题分析

  1. 中间件引用格式错误
    Traefik引用Kubernetes CRD类型的中间件时,必须遵循{命名空间}-{中间件名称}@kubernetescrd的格式。原注解仅填写中间件名称,导致Traefik无法定位到中间件资源,路由规则匹配失败,返回默认页面。

  2. 正则表达式可优化
    原正则未明确排除www域名(虽不会误匹配,但添加断言可提升严谨性),避免后续规则调整时出现意外情况。

修正后的配置

1. 修正重定向中间件

apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
  name: my-cool-website-force-www
  namespace: default
spec:
  redirectRegex:
    # 添加(?!www\.)断言,仅匹配非www的域名
    regex: ^https?://(?!www\.)my-cool-website.com/(.*)
    replacement: https://www.my-cool-website.com/${1}
    permanent: true # 可选,启用301永久重定向,利于SEO

2. 修正Ingress配置(重点调整中间件引用注解)

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    cert-manager.io/cluster-issuer: letsencrypt-staging
    kubernetes.io/ingress.class: traefik
    # 修正中间件引用格式:命名空间-中间件名@kubernetescrd
    traefik.ingress.kubernetes.io/router.middlewares: default-my-cool-website-force-www@kubernetescrd
  name: my-cool-website
  namespace: default
spec:
  rules:
  - host: my-cool-website.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: my-cool-website
            port:
              number: 80
  - host: www.my-cool-website.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: my-cool-website
            port:
              number: 80
  tls:
  - hosts:
    - my-cool-website.com
    - www.my-cool-website.com
    secretName: my-cool-website-tls

验证步骤

  1. 应用修正后的配置:
kubectl apply -f middleware.yaml
kubectl apply -f ingress.yaml
  1. 检查Traefik日志,确认中间件成功加载:
kubectl logs -n traefik <traefik-pod-name> | grep my-cool-website-force-www
  1. 测试重定向功能:
curl -v http://my-cool-website.com

预期会收到301/302重定向响应,目标地址为https://www.my-cool-website.com。

内容的提问来源于stack exchange,提问作者soapergem

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 10:55:20