AKS MySQL SSL问题(nodejs,knex)

时间:2018-03-29 11:51:19

标签: mysql azure ssl kubernetes azure-aks

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

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

我按照他们在docs中说的所有内容,我可以通过终端的MySQL客户端连接到它,所以证书是可以的。

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

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

根据MySQL& NodeJS的knexjs文档是正确的方法,它接受字符串而不是文件或文件的路径。 任何想法?

所以,我终于设法解决了这个“琐碎”的问题。问题。

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

需要分界线。

1 个答案:

答案 0 :(得分:0)

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

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

当您要从cert文件复制内容并通过envvars将其作为字符串提供时,需要分隔线。 <{1}}和-----BEGIN CERTIFICATE-----也必须在那里。