AKS MySQL SSL 问题(nodejs、knex)

AKS MySQL SSL problems (nodejs,knex)

我想通过 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 文档,这是正确的方法,它接受字符串而不是文件或文件路径。 有人有什么想法吗?

所以,我终于设法解决了这个 'trivial' 问题。

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

需要断线。

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

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

当您想从证书文件复制内容并通过 envvars 将其作为字符串提供时,需要换行符。 -----BEGIN CERTIFICATE----------END CERTIFICATE----- 也必须在那里。