Ansible URI 任务由于 SSL 问题突然失败且没有任何更改

问题描述 投票:0回答:1

我有一系列的剧本突然全部失效了。除了运行系统更新之外,我没有对 Ansible 服务器进行任何重大修改,并且所有设备都是通常使用自签名证书的防火墙/交换机。

我查看了 URI 模块here,发现所有 playbook 中都已经设置了 validate_certs: no。我将其更改为“假”、“假”和“否”的各种迭代,但没有效果。

我看到的错误是:

fatal: [sampleFirewall]: FAILED! => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python3"}, "changed": false, "field": {}, "msg": "Request failed: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1007)>"}

这似乎模块在游戏中没有看到该选项。我讨厌默认“这是一个错误吗?”但我想不出任何其他明显的原因,除非某些模块的更高版本需要证书签名或其他东西。

这是在 Ubuntu 22.04 上,使用:

ansible [core 2.15.2]
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/home/username/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/username/.local/lib/python3.10/site-packages/ansible
  ansible collection location = /home/username/.ansible/collections:/usr/share/ansible/collections
  executable location = /home/username/.local/bin/ansible
  python version = 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0] (/usr/bin/python3)
  jinja version = 3.1.2
  libyaml = True
ansible ssl-certificate uri
1个回答
0
投票

问题的原因是播放顺序混淆。

失败的播放不是 URI 播放,而是另一个连接到我们的密码管理器的播放。该模块检测到该设备上的证书存在问题(证书已过期)并触发了该模块。

因为该剧的名称命名相似,所以我认为它是在抱怨远程设备而不是密码管理器。经验教训明确说明每个游戏的作用。

© www.soinside.com 2019 - 2024. All rights reserved.