thermistor.acme_sh
acme_sh
dns APIモードでacme.shをセットアップし、letsencrypt.orgの証明書を生成します。
依存関係
多くのデフォルトはnginxを使用することを想定しています。
変数
動作を制御するためのデフォルト設定は以下の通りです:
acme_sh_autoupgrade: True
acme_sh_server: letsencrypt
acme_sh_notify: False
acme_sh_logging: False
acme_sh_keylength: 4096
acme_sh_dns_sleep: 120
acme_sh_certs_public_dir: /etc/nginx/certs
acme_sh_certs_private_dir: /etc/nginx/private
acme_sh_reload_cmd: /bin/systemctl reload nginx
例のプレイブック
以下はAWS Route53 APIを使った例です。ですが、他のdns APIプロバイダー用に変更できます。
使用方法:
- hosts: servers
roles:
- role: thermistor.acme_sh
acme_sh_subject_names:
- example.com
- www.example.com
acme_sh_dns_provider: dns_aws
acme_sh_env:
AWS_ACCESS_KEY_ID: "{{ your_vault_aws_access_key_id }}"
AWS_SECRET_ACCESS_KEY: "{{ your_vault_aws_secret_access_key }}"
以下はログ記録を追加した同じ例です:
- hosts: servers
roles:
- role: thermistor.acme_sh
acme_sh_logging: True
acme_sh_subject_names:
- example.com
- www.example.com
acme_sh_dns_provider: dns_aws
acme_sh_env:
AWS_ACCESS_KEY_ID: "{{ your_vault_aws_access_key_id }}"
AWS_SECRET_ACCESS_KEY: "{{ your_vault_aws_secret_access_key }}"
メールガン通知を追加した場合:
- hosts: servers
roles:
- role: thermistor.acme_sh
acme_sh_notify: True
acme_sh_notify_hooks:
- mailgun
acme_sh_subject_names:
- example.com
- www.example.com
acme_sh_dns_provider: dns_aws
acme_sh_env:
AWS_ACCESS_KEY_ID: "{{ your_vault_aws_access_key_id }}"
AWS_SECRET_ACCESS_KEY: "{{ your_vault_aws_secret_access_key }}"
MAILGUN_API_KEY: "{{ your_vault_mailgun_api_key }}"
MAILGUN_API_DOMAIN: "{{ your_vault_mailgun_domain }}"
MAILGUN_FROM: "{{ your_vault_mailgun_from }}"
MAILGUN_TO: "{{ your_vault_mailgun_to }}"
背景で何が起こるか
example.comの証明書を生成すると、インストールステップ中にこの役割は/var/lib/acme/.acme.sh/example.com/fullchain.cer
をコピーし、/etc/nginx/certs/example.com.cer
としてインストールします。これはfullchain証明書をインストールし、名前を変更しているため、必要があれば異なるドメインのために複数のfullchain証明書をインストールできます。
トラブルシューティング
証明書の設定に問題があると、時には証明書が再インストールされない状態になることがあります。この場合、以下のコマンドで強制的に証明書を再インストールできます:
ansible-playbook -i inventory playbook.yml -e "acme_sh_force_install=True" --tags acme_sh_cert_install
ライセンス
MIT
代替
以下の代替から多くを借りました:
- nickjj.acme_sh - 複数証明書対応
- verosk.acme-sh - インストールだけ
インストール
ansible-galaxy install thermistor.acme_sh
ライセンス
Unknown
ダウンロード
177
所有者
Product guy