我想通过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-----"
....
需要分界线。
答案 0 :(得分:0)
我已经编辑了这个问题,但这是解决方案:
....
env:
- name: database__connection__ssl__ca
value: "-----BEGIN CERTIFICATE-----\n...\n...\n...-----END CERTIFICATE-----"
....
当您要从cert文件复制内容并通过envvars将其作为字符串提供时,需要分隔线。 <{1}}和-----BEGIN CERTIFICATE-----
也必须在那里。