Ich versuche, das äquivalent zu tun:ansible URI-Modul mit cacert Option
curl -X POST --data <json> --key <path to key> --cert <path to cert> --cacert <path to cacert> --header "Content-Type: application/json" <url>
in einem ansible Spiel. Nach der Dokumentation von http://docs.ansible.com/ansible/latest/uri_module.html gibt es Äquivalente für Schlüssel, Cert, X, Header und Daten, aber ich habe keine Möglichkeit gefunden, eine Certificate Authority-Datei zu übergeben.
Ich habe versucht:
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
Da der Mensch curl gibt an, dass es die Umgebungsvariable CURL_CA_BUNDLE
zu lesen. Ich habe auch versucht:
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>
Keine Methode hat funktioniert. Ohne den cacert erhalte ich den Fehler: "Das SSL-Zertifikat konnte nicht für <url>
überprüft werden. Stellen Sie sicher, dass auf Ihren verwalteten Systemen ein gültiges CA-Zertifikat installiert ist ...". Ich weiß, wenn ich in gebe, dann wird die Methode funktionieren, und ich weiß, dass es über die Befehlszeile mit curl funktioniert.
Gibt es eine andere Option, die ich in das URI-Modul übergeben kann, um dieses Problem zu umgehen?
einfach ein paar Notizen hinzuzufügen, ich hatte CA certs in/etc installiert/pki/tls/certs und ansible in der Tat, sie wurde verwarnt . Mein wirkliches Problem stellte sich heraus, dass ich Python 2.7.5 ausführte und die Unterstützung für CAs in Python 2.7.9 hinzugefügt wurde (siehe https://docs.python.org/2/library/urllib2.html). Ich denke, dass ich die Option habe, ein cacert file/-Verzeichnis für das URI-Modul hinzuzufügen, wäre eine gute Ergänzung, also werde ich versuchen, ein Problem zu einem bestimmten Zeitpunkt einzureichen. –