Traefik 在使用 EC256 证书时禁用 TLS 1.2

Traefik 在使用 EC256 证书时禁用 TLS 1.2

我在我的 docker 容器前运行 Traefik 作为反向代理,其中包括下面的配置文件。

我使用 SSLLabs 检查了我的服务器,发现它们似乎不支持 TLS 1.2。但是,当我将密钥类型更改为 4096 RSA 密钥而不是 EC256 密钥并重新生成证书时,TLS 1.2 又可以正常工作了。其余配置和 docker 标签保持不变。

这是预期的行为吗?TLS 1.2 不支持 EC256 吗?或者这是 Traefik 的问题?我正在运行 Traefik 版本 2.2.11。

静态配置:

---
ping: {}
log:
  level: INFO
accesslog: {}
providers:
  docker:
    network: ${cfg.network_name}
    exposedbydefault: false
  file:
    watch: true
    filename: ${dynamic_config_file_target}
entryPoints:
  web:
    address: ':80'
    http:
      redirections:
        entryPoint:
          to: websecure
          scheme: https
  websecure:
    address: ':443'
    http:
      middlewares:
        - security-headers@file
        - compress@file
      tls:
        certResolver: letsencrypt
certificatesresolvers:
  letsencrypt:
    acme:
      email: ${cfg.acme.email_address}
      storage: ${cfg.acme.storage}/acme.json
      keyType: EC256
      httpchallenge:
        entrypoint: web
  letsencrypt_dns:
    acme:
      email: ${cfg.acme.email_address}
      storage: ${cfg.acme.storage}/acme.json
      keyType: EC256
      dnschallenge:
        provider: 'route53'

动态配置:

---
http:
  middlewares:
    security-headers:
      headers:
        sslredirect: true
        stsPreload: true
        stsSeconds: ${toString (365 * 24 * 60 * 60)}
        stsIncludeSubdomains: true
    compress:
      compress: {}
tls:
  options:
    default:
      minVersion: "VersionTLS12"
      sniStrict: true
      cipherSuites:
        - "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305"
        - "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"
        - "TLS_CHACHA20_POLY1305_SHA256"
        - "TLS_AES_256_GCM_SHA384"

答案1

问题不在于 Traefik,而在于您的配置:

   cipherSuites:
    - "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305"
    - "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"

这些是明确需要 RSA 认证(名称中的 RSA)的密码套件,因此需要 RSA 证书,因此不能与 ECC 证书一起使用。

    - "TLS_CHACHA20_POLY1305_SHA256"
    - "TLS_AES_256_GCM_SHA384"

这些是 TLS 1.3 密码套件。虽然它们可以与 ECC 证书一起使用,但它们也不能与 TLS 1.2 一起使用,只能与 TLS 1.3 一起使用。

一般来说,建议您不要明确配置任何密码套件,除非您真正知道自己在做什么。

相关内容