可能的作业失败,因为证书验证失败

fzwojiic  于 2022-09-20  发布在  Nginx
关注(0)|答案(2)|浏览(220)

我在server1上运行一个可分析的作业。这会将应用程序部署到server2

在此步骤中失败:

- name: Check {{ my_app }} runs at "https://{{ host }}:{{ port }}{{ endpoint }}" - returns a status 200
  uri:
    url: 'https://{{ host }}:{{ port }}{{ endpoint}}'
    return_content: yes
  register: result
  until: result.status == 200
  retries: 5
  delay: 20

它会显示以下错误:

FATAL:[server2.url.com]:失败!=>{“尝试”:5,“更改”:FALSE,“调用”:{“MODULE_ARGS”:{“ATTRIBUTES”:NULL,“BACKUP”:NULL,“BODY”:NULL,“BODY_FORMAT”:“RAW”,“CLIENT_CERT”:NULL,“CLIENT_KEY”:NULL,“Content”:NULL,“CREATES”:NULL,“delimiter”:NULL,“DEST”:NULL,“DIRECTORY_MODE”:NULL,“Follow”:FALSE,“FORLOW_REDIREDITS”:“Safe”,“force”:FALSE,“force_Basic_auth”:FALSE,“group”:NULL,“Headers”:{},“http_agent”:“Ansible-Httpget”,“METHOD”:“GET”,“MODE”:NULL,“Owner”:NULL,“regexp”:NULL,“Remote_src”:NULL,“Remves”:NULL,“Return_Content”:TRUE,“selevel”:空,“serole”:空,“setype”:空,“seuser”:空,“src”:空,“状态代码”:[200],“超时”:30,“unix_套接字”:空,“unSafe_Writes”:空,“URL”:“https://server2.url.com:1234/my/endpoint”,“URL_PASSWORD”:空,“URL_用户名”:NULL,“USE_PROXY”:TRUE,“VALIDATE_CERTS”:TRUE}},“msg”:“无法验证server2.url.com的SSL证书:1234。确保您的托管系统安装了有效的CA证书。如果不需要确认服务器身份,则可以使用VALIDATE_CERTS=FALSE,但这是不安全的,也不推荐这样做。为该平台检查的路径:/etc/ssl/certs、/etc/pki/ca-Trust/Exted/pem、/etc/pki/tls/certs、/usr/share/ca-certifents/cacert.org、/etc/ansible。异常消息为:[ssl:CERTIFICATE_VERIFY_FAILED]证书验证失败(_ssl.c:618)。“,”Status“:-1,”URL“:”https://server2.url.com:1234/my/endpoint“

我想我需要在server2上的某个地方安装证书,但我不确定这是如何或在哪里完成的。不过,我想我得到了正确的证书。我如何添加它?

此外,我知道Ansible使用的是Python。server1的版本为3.6.8,而server2的版本为2.7.5。版本之间是否可能存在冲突?

lyr7nygr

lyr7nygr1#

关于你的问题

  • 我在server1上运行可分析的作业。..。我想我需要在server2上的某个位置安装证书...*

和错误消息(msg)

  • 无法验证server2.url.com:1234的SSL证书。确保您的托管系统安装了有效的CA证书。如果您不需要确认服务器身份,可以使用validate_certs=False,但这是不安全的,也不推荐这样做。*

它是server1,无法确认目标服务器(server2)身份的连接尝试的发起方。因此,您需要信任server1上的证书。

关于你的问题

我不确定这是如何或在哪里完成的。

和错误消息(msg)

  • 为此平台检查的路径:/etc/ssl/certs/etc/pki/ca-trust/extracted/pem/etc/pki/tls/certs/usr/share/ca-certificates/cacert.org/etc/ansible*

您可能需要在server1上的上述路径之一中导入并信任自签名服务器证书。

关于

  • server1的版本为3.6.8,server2的版本为2.7.5。版本之间是否可能存在冲突?*

在你现在的情况下不是。

kadbb459

kadbb4592#

试试这个:

- name: Check {{ my_app }} runs at "https://{{ host }}:{{ port }}{{ endpoint }}" - returns a status 200
  uri:
    url: 'https://{{ host }}:{{ port }}{{ endpoint}}'
  **validate_certs: no**
    return_content: yes
  register: result
  until: result.status == 200
  retries: 5
  delay: 20

相关问题