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
执行 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