LIP-Computing.ssl-certs
ansible-role-ssl-certs
SSL証明書の生成および/またはデプロイを行います。
Ansible Galaxyで利用可能: LIP-Computing.ssl-certs
例
自己署名SSL証明書を生成する例
- hosts: all
roles:
- LIP-Computing.ssl-certs
これにより、次のパスに証明書と秘密鍵が作成されます:
/etc/ssl/myserver.mydomain.com.key
/etc/ssl/myserver.mydomain.com.pem
SSL証明書をデプロイする例
下記に2つのプレイブックの例を示しています:
- hosts: all
roles:
- role: LIP-Computing.ssl-certs
ssl_certs_common_name: "example.com"
- hosts: all
roles:
- role: LIP-Computing.ssl-certs
ssl_certs_common_name: "myhost.mydomain"
ssl_certs_country: "PT"
ssl_certs_locality: "Lisbon"
ssl_certs_organization: "LIP"
ssl_certs_state: "Lisbon"
ssl_certs_path_owner: "root"
ssl_certs_path_group: "root"
ssl_certs_generate_dh_param: true
証明書は files/ssl/example.com.key
と files/ssl/example.com.pem
に配置する必要があります。存在しない場合は、指定した共通名を使用して 自己署名 の証明書が
/etc/ssl/example.com.key
と /etc/ssl/example.com.pem
に生成されます。
ローカルの鍵/pemファイルを使用してSSL証明書をデプロイする例
- hosts: all
roles:
- role: LIP-Computing.ssl-certs
ssl_certs_local_privkey_path: '/path/to/example.com.key'
ssl_certs_local_cert_path: '/path/to/example.com.pem'
変数に保存されたSSL証明書をデプロイする例
SSL証明書と鍵は単なるテキストであり、変数として保存できます。これは、Ansible Vaultを使用する際に便利です。
以下は、例としての変数データです。テキストのインデントに注意してください。これは、テンプレートモジュールを介して正しくテキストを挿入するために必要です。
ssl_certs_local_privkey_data: |
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEAu2uhv2cjoN4F3arUZ5cDrwuxf3koCwrKSK75as0WZoxYrpyw
Lyx9ldyD4nGabVep0R/uAgQ/HqEf2jC7WIvGcEq8bHB9PyEEWzT8IjKQX0YTc//4
gkHBkpyU0fVrj5nkc30EIbcbH4RHRDwye4VhP/iCPchDG7OqvCyOdm8=
-----END RSA PRIVATE KEY-----
ssl_certs_local_cert_data: |
-----BEGIN CERTIFICATE-----
MIIDmzCCAoOgAwIBAgIJAKWMlgLwrBzXMA0GCSqGSIb3DQEBCwUAMGQxCzAJBgNV
QAL3naEfBSZBl0tBohuxn8Xd3yLPuKGUOk3pSL1IJy0Ca6p+QwjkaZUd9X3gf1V2
SEfYSaGPvfIlSuHIshno
-----END CERTIFICATE-----
その後、最初の例のように役割を含めるだけです。
私のNginx役割(jdauphant.nginx)でこの役割を使用する例
- hosts: all
roles:
- LIP-Computing.ssl-certs
ssl_certs_generate_dh_param: true
- role: jdauphant.nginx
nginx_configs:
ssl:
- ssl_certificate_key {{ssl_certs_privkey_path}}
- ssl_certificate {{ssl_certs_cert_path}}
- ssl_dhparam {{ssl_certs_dhparam_path}}
nginx_sites:
default:
- listen 443 ssl
- server_name _
- root "/usr/share/nginx/html"
- index index.html