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

Docker与Traefik v2.5本地部署出现SEC_ERROR_INADEQUATE_KEY_USAGE错误如何解决?

问题根因与修复方案

一、SEC_ERROR_INADEQUATE_KEY_USAGE报错修复

这个报错是因为Traefik没有成功申请到有效的Let's Encrypt证书,默认返回了自签证书导致,和你配置的几个错误有关:

  1. 本地域名无法通过HTTP challenge申请公网证书
    Let's Encrypt的HTTP challenge要求你的域名必须公网可解析、80端口公网可访问,你当前用的localhost、traefik.localhost都是本地域名,无法通过公网校验,证书申请必然失败,自然只能返回Traefik默认自签证书触发安全报错。
    本地部署可以选择两种方案:
  • 改用DNS challenge申请泛域名证书,需要你的域名托管在支持API操作的服务商处
  • 手动生成本地信任的自签证书,在Traefik动态配置中加载使用
  1. 配置文件存在多处语法/逻辑错误
  • 静态配置traefik.yml中没有声明file provider,你挂载的./config目录下的动态配置完全没有生效,你定义的中间件、TLS配置都不会加载,需要在providers节点下新增:
providers:
  # 保留原有的docker配置不变,新增以下内容
  file:
    directory: /configurations
    watch: true
  • 两个证书解析器共用同一个acme.json存储文件会产生写入冲突,删除没用的http证书解析器配置即可
  • 测试服务的标签语法错误,traefik.enable:true要改为traefik.enable=true
  • 宿主机的acme.json文件权限必须为600,否则Traefik无法写入证书,执行命令修复:sudo chmod 600 ./acme/acme.json

二、HTTP转HTTPS重定向规则说明

不需要每个新增服务单独配置,你当前在Traefik本身的标签中定义的全局catchall规则已经覆盖了所有80端口的请求,所有HTTP请求都会自动跳转HTTPS,无需额外给每个服务加重复配置。

三、测试方法

  1. 修复所有配置错误后重启Traefik栈,执行docker compose logs traefik查看日志,确认没有配置加载报错
  2. 测试重定向是否生效:执行curl -v http://localhost,查看返回头是否有301/302跳转指向HTTPS地址
  3. 本地测试服务可用性可以先临时跳过证书校验:执行curl -k https://localhost,确认可以返回静态页面内容
  4. 证书问题解决后,直接在浏览器访问对应地址即可正常加载。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 12:24:02