Heroku CLI error: unable to get local issuer certificate

Heroku CLI error: unable to get local issuer certificate

我在公司的防火墙后面。我们使用我们公司提供的证书文件 *.crt 来访问支持 SSL 的网站。

所以我在使用 heroku login 时收到 unable to get local issuer certificate 错误。

我正在使用 Windows 10 和 Heroku CLI 7.14.1 并尝试添加 HEROKU_SSL_VERIFY=disableSSL_CERT_FILE=C:\certificate.crt 作为环境变量但没有成功。

我该如何解决?

解决自https://devcenter.heroku.com/articles/using-the-cli

添加指向证书的环境变量 NODE_EXTRA_CA_CERTS

对于Windows: set NODE_EXTRA_CA_CERTS=C:\path\to\ca_cert.pem 或.crt

对于Linux: export NODE_EXTRA_CA_CERTS=/path/to/ca_cert.pem

对于 Windows 10:

转到系统变量(Windows 徽标键 > 键入:"environment variables" > 单击环境变量按钮)

Check/Set 变量 SSL_CERT_DIR=YourCetrFolder

证书文件夹示例:

请您的组织网络团队提供 ca 证书或 pem 文件。在本地计算机中拥有 cer 或 .pem 文件后,将其放在某个目录中并将其设置在环境变量中。

例如:我将 .pem 文件放在这个位置。 'C:\keys\xxx.pem'。 在环境变量中,我将添加具有以下给定名称和值的新系统变量。

变量名:'NODE_EXTRA_CA_CERTS'
变量值:'C:\keys\xxx.pem'

完成上述步骤后,打开命令提示符(如果已经打开则关闭)并尝试输入 'heroku login' 并按键盘上的任意键将您带到浏览器。它将带您到浏览器以验证您的用户凭据。如果您的组织启用了 SSO,它将自行处理,否则您必须输入您的 heroku 用户凭据进行身份验证。成功通过身份验证后,您将返回命令提示符并显示以下消息。

正在打开浏览器到“https://cli-auth.heroku.com/auth/cli/browser/XXXXXXXX
正在登录...完成
登录为 'your user name appear here'

就是这样。