![无法通过防火墙登录 Heroku](https://linux22.com/image/691355/%E6%97%A0%E6%B3%95%E9%80%9A%E8%BF%87%E9%98%B2%E7%81%AB%E5%A2%99%E7%99%BB%E5%BD%95%20Heroku.png)
我尝试通过 CLI(使用 heroku 的 Toolbelt)连接到 heroku,但无法连接。当我输入我的凭证时,heroku 回复道:
Post https://api.heroku.com/login: x509: certificate signed by unknown authority
我在公司的防火墙内,该防火墙阻止了大多数连接,所以我必须使用证书才能导航。
我该怎么做才能通过 cli 登录 heroku?
答案1
由于我所在组织的防火墙,我也遇到了这个问题。解决方案很简单下载并安装该组织的证书。
获得组织特定的“.cer”文件后,使用以下命令将该文件转换为“.pem”
openssl x509 -inform der -in orgCertFile.cer -out certificate.pem
接下来,在当前命令行中将以下变量设置为系统变量或临时变量
export SSL_CERT_FILE=orgCertFile.cer export NODE_EXTRA_CA_CERTS=certificate.pem
最后尝试使用 heroku 命令登录
heroku login
答案2
您需要设置代理,然后发出 heroku login 命令
来源 :https://devcenter.heroku.com/articles/using-the-cli#using-an-http-proxy
使用 HTTP 代理 如果您位于需要使用代理来连接外部 HTTP/HTTPS 服务的防火墙后面,则可以在运行 heroku 命令之前在本地开发人员环境中设置 HTTP_PROXY 或 HTTPS_PROXY 环境变量。例如,在 Unix 系统上,您可以执行以下操作:
$ export HTTP_PROXY=http://proxy.server.com:portnumber
or
$ export HTTPS_PROXY=https://proxy.server.com:portnumber
$ heroku login
在 Windows 计算机上,可以在系统属性/环境变量中设置它,也可以从终端执行:
> set HTTP_PROXY=http://proxy.server.com:portnumber
or
> set HTTPS_PROXY=https://proxy.server.com:portnumber
> heroku login