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

Docker环境下Traefik同时支持HTTP和HTTPS访问的配置问题

问题根因

你当前配置中将TLS证书解析器绑定到了同时关联web(80)和websecure(443)入口点的同一条路由上,Traefik处理HTTP请求时会尝试应用TLS配置导致路由匹配失败,返回404错误。

解决方案

拆分两条独立的路由分别处理HTTP和HTTPS请求,不对HTTP路由配置TLS相关参数即可实现双协议同时访问,无需配置跳转逻辑。

具体修改

替换mywebsite服务的labels配置为以下内容:

labels:
  - "traefik.enable=true"
  # 统一指定服务转发端口(可选,避免Traefik自动识别端口出错)
  - "traefik.http.services.themywebsite.loadbalancer.server.port=80"
  # HTTP路由配置
  - "traefik.http.routers.themywebsite-http.rule=Host(`mywebsite.com`, `www.mywebsite.com`)"
  - "traefik.http.routers.themywebsite-http.entrypoints=web"
  # HTTPS路由配置
  - "traefik.http.routers.themywebsite-https.rule=Host(`mywebsite.com`, `www.mywebsite.com`)"
  - "traefik.http.routers.themywebsite-https.entrypoints=websecure"
  - "traefik.http.routers.themywebsite-https.tls.certresolver=teeresolver"

修改完成后执行docker-compose up -d重启容器即可生效。

可选优化:如果你的服务仅通过Traefik对外提供访问,可以删掉mywebsite服务下的ports配置,避免直接暴露8001端口带来的安全风险。

内容的提问来源于stack exchange,提问作者Eric.M

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 23:06:03