0

我想通过 Azure Kubernetes 中的 envvars 在我的应用程序中为 MySQL 提供 SSL CA 证书,但我不断收到以下错误日志。

NAME: RollbackError
CODE: HANDSHAKE_SSL_ERROR
MESSAGE: unable to get local issuer certificate

我遵循了他们在文档中所说的一切,我可以从终端使用 MySQL 客户端连接到它,所以证书没问题。

这就是我的 deployment.yml 中的内容:

....
env:
  - name: database__connection__ssl__ca
    value: "content_of_ssl_ca_cert_file" 
....

根据 NodeJS 的 MySQL 和 knexjs 文档,这是正确的方法,它接受字符串而不是文件或文件的路径。有人有什么想法吗?

所以,我终于设法解决了这个“微不足道”的问题。

....
    env:
      - name: database__connection__ssl__ca
        value: "-----BEGIN CERTIFICATE-----\n...\n...\n...-----END CERTIFICATE-----" 
....

需要断线。

4

1 回答 1

0

我已经编辑了这个问题,但这里是解决方案:

....
    env:
      - name: database__connection__ssl__ca
        value: "-----BEGIN CERTIFICATE-----\n...\n...\n...-----END CERTIFICATE-----" 
....

当您想从证书文件中复制内容并通过 envvars 作为字符串提供时,需要使用断线。-----BEGIN CERTIFICATE----------END CERTIFICATE-----必须在那里。

于 2018-04-03T20:36:34.937 回答