HTTPS でファイルをダウンロードする
- name: Download foo.conf
ansible.builtin.get_url:
url: https://example.com/path/file.conf
dest: /etc/foo.conf
mode: '0440'
- パラメーターの説明:
dest
で指定したファイルが既に存在する場合は、ダウンロードはスキップされます。
ただし、dest
で指定したパスがディレクトリの場合は、ファイルは毎回ダウンロードされてしまうので、dest
ではファイルのパスを指定すべきです。
force: yes
オプションを指定すると、ファイルは必ずダウンロードされます。
SSL エラーが発生する場合
Ubuntu の Docker イメージには CA 証明書がインストールされておらず、get_url
モジュールで HTTPS アクセスしたときに次のように SSL 関連のエラーが出ることがあります。
Request failed: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED]
certificate verify failed: unable to get local issuer certificate (_ssl.c:997)>
このような場合は、get_url
の validate_certs: no
オプションを指定して SSL 検証をスキップしてしまうこともできますが、次のように CA 証明書をインストールするのが正しい対処方法です。
ちなみに、ca-certificates
パッケージは、apt install
するときに推奨パッケージとして自動的にインストールされるものですが、--no-install-recommends
オプションを指定するとインストールされません。