5
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

acme.shでLet's Encryptのワイルドカード証明書を取得 with Nginx

Last updated at Posted at 2018-09-07

Let's Encryptクライアントのacme.shを使ってワイルドカード証明書を取得してNginxでHTTPSするで。Apacheでもそんなに変わらんで。

設定やら何やらを入れても10分くらいで終わるで。

ほな行くでーー。

スーパードゥ!

sudo su -

インストール

curl https://get.acme.sh | sh

インストール直後はacme.shの設定を読み込む必要があるで。

. ~/.acme.sh/acme.sh.env

設定

DNS認証で証明書を発行するための設定や。今回はCloudflareを使ってるけど、他にも色々対応しとるで。

詳しくはAutomatic DNS API integrationを参照や。

~/.acme.sh/account.conf
+ CF_Key='CloudflareのAPIキー'
+ CF_Email='Cloudflareアカウントのメールアドレス'

証明書発行

  • --issue 証明書発行してや
  • --dns dns_cf DNS認証でプロバイダはCloudflareや
  • -d ドメインこれでよろしく
acme.sh --issue --dns dns_cf -d example.com -d "*.example.com"

※120秒の待ち時間があるで。

証明書をインストール

今回はNginxで使うから近く(/etc/nginx/ssl/*/)に置くで。

# ドメインごとのディレクトリを作るで
mkdir -p /etc/nginx/ssl/example.com
  • --install-cert 発行済み証明書を(Web)サーバーにインストールしてや
  • -d ドメインこれでよろしく
  • --key-file key.pemの場所ここな
  • --fullchain-file fullchain.pemの場所ここな
  • --reloadcmd 終わったらこれ実行してな(renew時にも使われるで)
acme.sh --install-cert -d example.com -d "*.example.com" \
--key-file /etc/nginx/ssl/example.com/key.pem \
--fullchain-file /etc/nginx/ssl/example.com/fullchain.pem \
--reloadcmd "service nginx force-reload"

Nginxの設定

毎度お馴染みNginxのSSL設定やで。ググってや。

ssl_certificate /etc/nginx/ssl/example.com/fullchain.pem;
ssl_certificate_key /etc/nginx/ssl/example.com/key.pem;

証明書の更新

  • --renew-all 発行済み証明書を全部更新してや
acme.sh --renew-all

cronで証明書を自動更新

  • --cron cron中に発行済み証明書を全部更新してや
# 毎週日曜日 23時13分に発行済み証明書を全部更新して欲しいんや
13 23 * * 0 /root/.acme.sh/acme.sh --cron > /root/.acme.sh/cron.log

/etc/cron.weeklyとか/etc/cron.monthlyに入れてもええで!!

あでゅ〜

5
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?