带有 cacert 选项的 Ansible URI 模块

2024-04-21

我正在尝试做相当于:

curl -X POST --data <json> --key <path to key> --cert <path to cert> --cacert <path to cacert> --header "Content-Type: application/json" <url>

在 ansible 游戏中。以下文档来自http://docs.ansible.com/ansible/latest/uri_module.html http://docs.ansible.com/ansible/latest/uri_module.html,有密钥、证书、X、标头和数据的等效项,但我还没有找到传递证书颁发机构文件的方法。

我试过了:

environment:
  CURL_CA_BUNDLE: <path to cacert>
uri:
  url: <url>
  client_cert: <path to cert>
  client_key: <path to key>
  body: <json>
  method: POST
  body_format: json

由于 mancurl 指定它将读取环境变量CURL_CA_BUNDLE。我也尝试过:

uri:
  url: <url>
  client_cert: <path to cert>
  client_key: <path to key>
  body: <json>
  method: POST
  body_format: json
  others: --cacert <path to cacert>

这两种方法都没有奏效。如果没有 cacert,我会收到错误:“无法验证 SSL 证书<url>。确保您的托管系统安装了有效的 CA 证书...”。我知道如果我通过validate_certs=False,那么该方法将起作用,并且我知道它可以通过带有curl的命令行起作用。

是否有其他选项可以传递到 URI 模块来绕过此问题?


The uri module https://github.com/ansible/ansible/blob/devel/lib/ansible/modules/net_tools/basics/uri.py不是 cURL,它是完整的 python 实现。因此 cURL 环境变量或选项不可能起作用。
The others选项被记录为“文件模块接受的所有参数也在这里工作”,所以它只是意味着您可以使用owner, group, mode等来设置属性dest.

client_cert and client_key在最近的2.4中添加只是为了修复问题#18141 https://github.com/ansible/ansible/pull/18141他们没有考虑服务器 TLS 身份验证...

我可以看到 3 个解决方案:

  • 将您的 CA 证书添加到系统证书中(在目标主机上)uri任务) -仅对 python >= 2.7.9 有效
  • Use the validate_certs: no禁用服务器证书验证的选项(因此无需使用 CA 证书)
  • 提出问题(也许是 PR)以增加对某个问题的支持cacert option
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带有 cacert 选项的 Ansible URI 模块 的相关文章

  • curl 在命令行中工作正常,但在 php 中不行

    我使用curl 从 PHP 中检索 url 的内容 它适用于大多数 url 但对于某些 url 它只返回一个空字符串 从命令行 卷曲 此类 url 效果很好 这是我运行curl的方式 curl session curl init site
  • 如何使用代理将 boost::asio 连接到 HTTPS 服务器?

    在我们的应用程序中 我们使用 boost asio 来使用 HTTP 和 HTTPS 进行连接 我们还可以使用 HTTP 代理 现在我需要使用代理添加对 HTTPS 服务器的支持 我研究了相当多的样本 发现所需的步骤似乎是 创建到代理的 H
  • 信任所有将文件发送到 https Web 服务的 java 类

    我需要编写自己的类来告诉 mule 与服务 wsdl 的 https 连接已验证 我的 mule 项目已经接近完成 但最后一块丢失了 在特定的 url 发送文件 我想要实现的目标 建立连接并将 xml 发送到目标 url 读取 xml 格式
  • IPV6 Curl POST 请求

    在 IPV6 中 如何使用 IPV6 地址和端口号构建 CURL POST http 请求 任何类型的线程都将受到赞赏 尝试构建如下请求 gt curl interface http 2001 0 db8 1111 0 0 0 11 809
  • WebView ssl 错误

    对不起我的英语不好 我需要加载 url https 我有一些问题 当我尝试加载页面时 webView 给我错误 primary error 3 certificate Issued to CN my site com Issued by C
  • tomcat 7 + ssl 不工作 - ERR_SSL_VERSION_OR_CIPHER_MISMATCH

    Ubuntu 14 tomcat 7 java 7 our crt our key 和 gd bundle g2 g1 crt 由 godaddy 提供 该捆绑包中有 3 个证书 通过查看文件可以看出 请注意 我们的密钥和 crt 在 no
  • 使用 cURL 从 shell 发布 4GB 文件

    我尝试将文件大小为 4GB 的文件发布到 REST API cURL 不会上传此大小的文件 而是 POST 内容长度为 0 的文件 curl v i d work large png H Transfer Encoding chunked
  • 双向 SSL 说明

    我对双向 SSL 的工作原理有些困惑 客户端如何创建其证书以发送到服务器 是从服务器生成并分发给客户端吗 另外 双向 SSL 相对于单向 SSL 有何优势 两个证书在连接之前都应该存在 它们通常由证书颁发机构创建 不一定相同 在其他情况下
  • POST 请求在 Postman 中有效,但在 Python 请求中无效(带有机器人检测的 200 响应)

    我有一个 POST 请求 可以与 Postman 和 cURL 完美配合 它返回 JSON blob 数据 然而 当我使用 Python 的 Requests 库执行完全相同的请求时 我得到了 200 成功响应 但我得到的不是 JSON b
  • Tomcat 托管具有多个 SSL 证书的多个虚拟主机

    例如 我有一台使用 Tomcat 7 托管多个网站的服务器 a abc com b abc com c def com d def com 使用tomcat的虚拟主机功能 因此它们各自可能属于不同的webapps文件夹 我们现在正在尝试为每
  • HTTP 到 HTTPS 301 重定向代码不起作用,显示重定向过多

    我正在为我的网站之一使用 Bluehost 最近 最近 我已将我的网站从 HTTP 迁移到 HTTPS 之后 我使用了不同的代码 包括以下代码 在我的网站上强制使用 HTTPS SSL Rewrite RewriteEngine On Re
  • Android 中的 SSL 会话重用问题(J2SE 工作正常)

    我一直在 iOS Java 桌面和 Android 上尝试 SSL 会话重用 iOS 似乎尝试重用 SSL 会话 但并非总是如此 只要您在创建 SSLEngine 时传递主机名 端口 Java 似乎总是会重用会话 当我使用 Android
  • fsockopen() 和 SSL 出错,“无法启用加密”

    我正在尝试连接到 Nominet EPP 测试台 但收到 无法启用加密 的消息 这似乎是一个罕见的错误 没有记录的解决方案或原因 用行 socket fsockopen ssl testbed epp nominet org uk 700
  • NGINX 上的 SSL 终止

    我已经购买了 SSL 证书 并在验证模数时正确地将其捆绑在一起 即https kb wisc edu middleware 4064 https kb wisc edu middleware 4064 那么哈希值是相同的 我已将证书和密钥移
  • 如何使用批处理脚本调用的curl 获取http post 请求的响应代码?

    我正在努力为从我们的工具之一发送 http post 请求提供支持 该工具基本上通过 http 请求执行作业 实现此目的的方法是该工具使用多个参数调用 RunScript bat 该脚本解析这些参数并在验证后发出curl post 请求 P
  • 使用 ansible 'Docker login' 和 _json_key Docker 登录到 GCE

    我正在尝试编写一个 ansible 角色 首先执行以下操作docker login从容器注册表中提取映像之前 将其复制到 GCE 实例 由于提到的问题 我需要这样做here https stackoverflow com questions
  • SSL如何使用对称和非对称加密?如何管理一台主机上多个站点的认证? [复制]

    这个问题在这里已经有答案了 首先 引用微软TechNet的一些内容管理 Microsoft 证书服务和 SSL http technet microsoft com en us library bb727098 aspx 回顾一下 安全 S
  • Android - API 请求

    我开发了一个应用程序 它也在 iPhone 上 问题出在 api 请求上 我为所有请求设置了超时 有时会出现 30 60 秒的中断 看起来这个应用程序执行了几个请求 然后就中断了 一直超时 大约 45 秒后一切正常 不知道是服务器问题还是安
  • CakePHP - 选择性 SSL

    如何对网站的某些部分强制使用 HTTPS 例如登录页面或注册页面 并使用 HTTP 来完成网站的其余部分 我最喜欢的强制转换为 https 的方法是将其作为 php 脚本中的第一件事 它可以在 Joomla 中运行 也可以在 CakePHP
  • shell_exec 的输出被截断为 100 个字符

    当在 shell 中运行以下命令时 curl F file filename http 192 168 0 1 产生以下输出 Accuracy 0 0 1 classification Accuracy 0 0 1 classificati

随机推荐