CentOS7でLet’sEncrypt導入

無料でSSL証明書が入手できるサービスLet’sEncryptをCentOS7+Nginx環境に導入しました。2016年4月にLet’sEncryptサービスがスタートして話題になっていることは知っていましたがそれ以前に無料対応していたstartSSLを使用していましたので乗り換える必要性を感じていませんでした。

しかし、FireFoxのバージョンアップに伴いStartSSLを正当な証明書と認めなくなったようでStartssl証明書を使用していた当Blogがエラーになってしまいました。それならとLet’sEncryptに乗り換えることにしました。

前提は、CnetOS7+nginx環境+独自ドメインでhttp,httsポートが開いていること。入力したドメイン名を正引きできること。

1.インストール

参考ページ(本家)

epelリポジトリを導入していない場合はインストールします。

本体をインストールします。

*nginxの場合、python-certbot-apacheは不要です。

2.実行

実行する前に、certbotがPORT80とPORT443を使用できるようにNginxを停止します。

認証対象サーバにgtrt7.comとwww.gtrt7.comを指定して実行します。

メールアドレスを入力します。

Let’s Encrypt の利用規約(Terms of Service)に同意して先に進みます。

サーバ証明書の取得完了メッセージ。

3.証明書の入手
(1)証明書の保存場所

証明書は以下のディレクトリに作成されます。下記ドメイン名は最初に設定した認証対象サーバ名(ここではgtrt7.com)になります。-dオプションで追加指定した(www.gtrt7.com)ディレクトリは作成されません。

保存ディレクトリ 格納対象
/etc/letsencrypt/archive/ドメイン名/ 証明書の実体
/etc/letsencrypt/live/ドメイン名/ 最新証明書へのシンボリックリンク

確認します。

証明書は更新するごとに名前が変わりますが、シンボリックリンクの名前は変更されません。特に理由がなければNginxのconfファイルにはシンボリックリンク名を指定するのが推奨です。3か月毎に証明書が更新されてもconfファイルは変更せずに済みますので。

(2)nginxで使用する証明書

①サーバ証明書と中間証明書が結合されたファイル

証明書はssl_certificate ディレクティブで指定します。

②秘密鍵

秘密鍵はssl_certificate_key ディレクティブで指定します。

4.自動更新の設定

証明書の有効期限は3ケ月なので自動更新の設定をします。毎週日曜日の4時30分に更新前にnginxを停止し更新したらnginxを起動します。更新の結果をroot宛にメールしてきます。

スクリプトを作成します。

スクリプトに実行権限を与えます。

#chmos +x /root/certbot_run.sh

cronに登録し毎週日曜日の朝4:30に起動されるようにします。

certbot renewは–dry-run の引数を指定すると証明書の更新をせずに終了します。動作確認時に使用するとサーバに余計な負荷をかけずに確認がとれますのでお勧めです。

5.参考にさせて頂いたサイト

さくらのナレッジ

ありがとうございます。

スポンサーリンク
レクタングル大広告




レクタングル大広告




シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
レクタングル大広告