OpenStack CLI SSL 验证失败

OpenStack CLI Failed SSL Verification

执行 openstack 命令时,无法验证由内部 CA 签名的证书。

CentOS 7
Root CA installed in /etc/pki/ca-trust/source/anchors
openstack 3.3.0

$ openstack 服务器列表
创建密码插件时,从身份服务发现版本失败。正在尝试从 URL 确定版本。连接到 https://XXXXX 的 SSL 异常:13000/v2.0/tokens: [SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败 (_ssl.c:765)

我从浏览器中点击 url 并下载了证书。然后运行openssl验证成功

$ openssl verify -CAfile /etc/ssl/certs/ca-bundle.trust.crt 10.92.50.11.crt
10.92.50.11.crt: OK

是否需要将根 CA 放在其他区域以便命令行获取它?

通过设置 OS_CACERT 明确指向 CA 证书就成功了。我环境中的其他人不必这样做。我不确定为什么有必要这样做,但这就是解决我的问题的原因。

export OS_CACERT=/path/to/ca.crt

参考:http://docs.openstack.org/user-guide/common/cli-set-environment-variables-using-openstack-rc.html