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

Traefik配置HTTP自动重定向至HTTPS失败,求正确配置方案

Traefik HTTP转HTTPS重定向配置修复

你的配置存在两处关键错误,导致404和重定向失效,以下是问题说明和修正后的完整配置:

错误点说明

  1. HTTPS路由器TLS配置归属错误:你将TLS配置[http.routers.npm.tls]写在了npm-secure路由器块外,这会导致HTTPS路由器无法关联证书解析器,无法正确处理HTTPS请求。
  2. 重定向中间件参数类型错误:permanent字段需要布尔值true,而非字符串"true",Traefik会忽略类型不匹配的配置项。

修正后的traefik_dynamic.toml配置

[http]
  [http.routers]
    # HTTP路由器:负责将80端口请求重定向到HTTPS
    [http.routers.npm]
      entryPoints = ["web"]
      rule = "Host(`npm.XXX.de`)"
      middlewares = ["httpsRedirect"]
      # 用Traefik内置空服务替代,更规范(重定向无需实际服务)
      service = "noop@internal"

    # HTTPS路由器:处理443端口请求,启用TLS证书
    [http.routers.npm-secure]
      entryPoints = ["websecure"]
      service = "npm"
      rule = "Host(`npm.XXX.de`)"
      [http.routers.npm-secure.tls]
        certResolver = "letsencrypt"

  [http.services]
    [http.services.npm]
      [http.services.npm.loadBalancer]
        [[http.services.npm.loadBalancer.servers]]
          url = "http://192.168.1.79/"

  [http.middlewares.httpsRedirect.redirectScheme]
    scheme = "https"
    permanent = true # 修正为布尔值类型

关键配置解释

  • HTTP路由器:仅匹配80端口的域名请求,调用重定向中间件完成跳转,使用内置空服务避免不必要的服务绑定。
  • HTTPS路由器:绑定443端口,正确关联TLS证书解析器,自动申请/续期Let's Encrypt证书,同时将请求转发到后端服务。
  • 重定向中间件:配置永久HTTPS跳转(HTTP 301状态码),参数类型符合Traefik要求。

修改配置后重启Traefik服务即可生效,此时访问http://npm.XXX.de会自动跳转到https://npm.XXX.de,HTTPS请求也能正常转发到后端服务。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 13:45:03