Nginx Ingress Controller 中“ca md too weak”错误的解决方法

CZc*_*ang 7 ssl openssl nginx-ingress

我在 AWS EKS 集群上运行了 Nginx 入口控制器。我正在尝试启用相互 SSL。我需要使用的服务器证书抛出 SSL 错误:

Error: exit status 1
2019/01/16 14:37:40 [notice] 3642#3642: ModSecurity-nginx v1.0.0
2019/01/16 14:37:40 [emerg] 3642#3642: SSL_CTX_use_certificate("/etc/ingress-controller/ssl/default-tls.pem") failed (SSL: error:140AB18E:SSL routines:SSL_CTX_use_certificate:ca md too weak)
nginx: [emerg] SSL_CTX_use_certificate("/etc/ingress-controller/ssl/default-tls.pem") failed (SSL: error:140AB18E:SSL routines:SSL_CTX_use_certificate:ca md too weak)
nginx: configuration file /tmp/nginx-cfg917440593 test failed
Run Code Online (Sandbox Code Playgroud)

当我尝试使用具有 sha256 的自生成证书时,它运行良好。是否有任何解决方法可以让 Ingress 控制器接受较弱的证书?我曾尝试编辑“ssl-ciphers”注释,但仍然遇到相同的错误。

这是我正在使用的入口:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    nginx.ingress.kubernetes.io/server-snippet: |
      ssl_ciphers "ALL";
      ssl_password_file /etc/ingress-controller/ssl/password/p.txt;
    nginx.ingress.kubernetes.io/auth-tls-verify-client: "on"
    nginx.ingress.kubernetes.io/auth-tls-secret: "default/ca"
    nginx.ingress.kubernetes.io/auth-tls-verify-depth: "1"
    nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
  name: test-ingress
  namespace: default
spec:
  rules:
  - host: domain.com
    http:
      paths:
      - backend:
          serviceName: test-svc
          servicePort: 80
        path: /
  tls:
  - hosts:
    - domain.com
    secretName: tls
Run Code Online (Sandbox Code Playgroud)

有人对此有什么建议吗?