Ansible任务证书验证失败求助:证书安装与Python版本冲突疑问
问题解决:Ansible URI模块SSL验证失败及Python版本疑问
一、SSL证书验证失败的解决方法
报错核心是受控节点server2未信任目标HTTPS端点的CA证书,可通过以下两种方式处理:
1. 临时绕过验证(不推荐生产环境)
直接在uri模块中添加validate_certs: false参数关闭证书验证,仅用于测试场景:
- name: Check {{ my_app }} runs at "https://{{ host }}:{{ port }}{{ endpoint }}" - returns a status 200 uri: url: 'https://{{ host }}:{{ port }}{{ endpoint}}' return_content: yes validate_certs: false # 临时关闭验证,生产环境禁用 register: result until: result.status == 200 retries: 5 delay: 20
2. 正确安装CA证书到server2
根据server2的操作系统类型执行对应步骤:
RHEL/CentOS 7(匹配Python2.7.5的环境)
- 将CA证书文件(如
ca.crt)上传至server2的/etc/pki/ca-trust/source/anchors/目录 - 执行命令更新系统证书信任库:
update-ca-trust extract
Debian/Ubuntu
- 将CA证书文件上传至server2的
/usr/local/share/ca-certificates/目录 - 执行命令更新系统证书信任库:
update-ca-certificates
二、Python版本冲突说明
当前场景不存在Python版本冲突:
- 控制节点server1用Python3.6.8、受控节点server2用Python2.7.5的组合,Ansible 2.5及以上版本完全支持。
- 本次报错为SSL证书验证失败,与Python版本无关,无需调整版本。
内容的提问来源于stack exchange,提问作者runnerpaul
相关产品推荐
相关产品推荐

