Nginx+Let’s Encryptで自宅WEBサーバーをSSL(HTTPS)化

nginx-ssl-cron
  • URLをコピーしました!

以前から、無料SSL証明書を発行してくれるLet’s Encryptを使って、自宅サーバー(CentOS)で構築したWEBサーバーSSLHTTPS)化を試みていますが、いつも失敗に終わっていました。。
しかし、遂に無料ドメインの自動更新とSSL化に成功しました!
まずは、過去の記事を参照しながら、実現するために必要な材料を集めましょう。

目次

作業前に必要な4つの準備

余談ですが、自宅サーバーの環境としては、無料のダイナミックDNS(DDNS)と、非固定IPを自動更新してくれるDICEを利用しています。
それでは、WEBサーバーSSL化する前に、以下の4つを準備しておきましょう。
(GitやPHPのインストール等は割愛させていただきます)

1. CentOSにNginxをインストール

以下を参考にNginxインストールすれば、特に問題ないと思います。

気をつけるのは[nginx.conf]の設定の[server_name]の箇所です。
SSL証明書を取得したいドメインを書いておきましょう。

wwwも付けたい場合はスペース区切りです。

2. 無料ドメインを取得

まずは、以下の記事を参考に、Freenomから無料ドメインを取得しておきます。

あわせて読みたい
エックスサーバーに無料の独自ドメインを追加する方法 皆さん、突然ですが無料のドメインが存在することはご存知ですか?しかも、無料ダイナミックDNS(DDNS)サービスのようなサブドメインではなく、普通のドメインをエックス...

3. 非固定IPを更新する

取得した無料ドメインMyDNSCronを使って、非固定な自宅サーバーIPアドレスを自動更新しておきます。

あわせて読みたい
MyDNSとLinuxのcronを使って無料の独自ドメインを更新する いつも自宅サーバー(非固定IP)のLinux(CentOS)でDICEを使ってダイナミックDNS(DDNS)を利用していましたが、なぜかIPを更新できなくなったので、以前紹介した無料...

4. Let’s Encryptを知る

特に意識する必要はありませんが、無料SSL証明書Let’s Encrypt」について少しは知っておきましょう。

あわせて読みたい
レンタルサーバでもHTTPS(SSL)が無料で使える時代が来た! 遂に来ました!SSL証明書の無料化!証明書ごときになぜそこまで高いお金を払わないといけないのか、ずっと疑問に思っていました。(偏見)まぁ、サイトの信頼をお金で買...

自宅WEBサーバー(Nginx)をSSL化する

準備が完了したら、いよいよ本番です。
以下のサイトを引用していますが、上手く行かなかった所もあるので、自分なりに変更しています。

Let’s Encryptをインストールする

まずは、[git clone]コマンドで取得して、Let’s Encryptのインストーラーを実行します。
正常にインストールされたかヘルプを実行して確認します。

正常にインストールできた場合には、Let’s Encryptのヘルプが表示されますが、表示されなかった場合の対処法はわかりません。

Let’s Encryptクライアントの実行

実行する際のオプションは参考にしたサイトによって異なり、何故かどれも上手く行かなかったので、オプションを最小限まで減らしています。

実行例

wwwも一緒なら更に-dを追加してください。

実行中も参考サイトとは異なり、利用規約に同意する(Agree)と言った内容が表示されず、代わりに以下のような問いがありました。

内容はHTTPHTTPSのアクセスを許可する範囲を選択するというもの。
以下翻訳。

  1. HTTPとHTTPSの両方のアクセスを許可する
  2. HTTPSのアクセスのみ許可(HTTPの場合はリダイレクト)

著者はHTTPS通信のみしか考えてないので「2」を選択しました。最後はこのように「IMPORTANT NOTES:~」が表示されれば完了です。

IMPORTANT NOTES
IMPORTANT NOTES

他の参考サイトでは、この後にNginxの設定ファイルにSSLの使用を明示したり、公開鍵秘密鍵の場所を記載する場面が見られますが、自動で記載されていましたので、私の場合はこれで完了になります。
試してみると正常に動作しました。
Let’s Encryptのインストーラーのバージョンが違うのでしょうか?

CronでSSL証明書の自動更新

過去の記事でも紹介しましたが、Let’s encryptのSSL証明書の有効期間3ヶ月です。
毎回更新するのは面倒なので、Cronを使ってSSL証明書自動更新します。

最後に

これでLet’s EncryptによるSSL化の手順は以上になります。
簡単過ぎましたね。
英語で良ければこちらがとても詳しかったですのでどうぞ。

ムフフッ!
さて、どうしてくれよう。
セキュアな環境ができたことだし、自分専用のオンラインストレージでも作ろうかな?
夢が広がりますね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメント一覧 (1件)

コメントする

CAPTCHA


目次