MyDNSとLet’sEncryptでhttps化した話

以下を参考に設定しましたが、家の中のLANからはhttps通信ができたのですが、外部からはできませんでした。
何日も考えましたが、なかなかわかりません。
そして2週間して、ふとルーターの設定をまだしていないことに気づきました。
今まで、通常のネット回線からは我がサーバに届くように設定はしていましたが、https通信がサーバに届くように設定をすることを忘れていました。それをすることで、やっとhttps通信ができるようになりました。めでたしめでたし。

Let’s Encrypt導入について(サーバUbuntuServer16.04)

1 httpsはport443を使用するので、ルータ及びサーバのポート設定を行います。
  ルータは、それぞれの機種にあったやり方で、サーバについては ufw allow 443 などで。
 
2 Certbotインストール
  説明書には「sudo apt-get install letsencrypt python-letsencrypt-apache」と書いてあるので、それをしましたが、できませんでした。
  なので、
   wget https://dl.eff.org/certbot-auto
   chmod a+x certbot-auto
   ./certbot-auto
   によるインストールを行いました。

3 SSL/TLS サーバ証明書の取得
  操作の途中で、「メールアドレスの入力」や「利用規約への同意」が求められることもあります。
  apache2が動作している環境において、複数のドメイン名に対応する1枚の証明書を取得する場合。
./certbot-auto certonly –webroot -w /var/www/example/ -d www.example.com -d example.com -w /var/www/other -d other.example.net -d another.other.example.net
「-w」にDcumentRootを「-d」にドメイン名を入力していきます。

4 各種証明書及び鍵について
  3に成功すると、
  サーバ証明書(公開鍵)
   実体  /etc/letsencrypt/archive/ドメイン名/certN.pem
   リンク /etc/letsencrypt/live/ドメイン名/cert.pem
  中間証明書
   実体  /etc/letsencrypt/archive/ドメイン名/chainN.pem
   リンク /etc/letsencrypt/live/ドメイン名/chain.pem
  サーバ証明書と中間証明書が結合されたファイル
   実体  /etc/letsencrypt/archive/ドメイン名/fullchainN.pem
   リンク /etc/letsencrypt/live/ドメイン名/fullchain.pem
  秘密鍵
   実体  /etc/letsencrypt/live/ドメイン名/fullchain.pem
   リンク /etc/letsencrypt/live/ドメイン名/privkey.pem
   に作成されます。

5 サイト設定の切替
  cd /etc/apache2/sites-available/
a2enmod ssl  モジュール設定を有効に
  a2ensite default-ssl  サイト設定を有効に
  service apache2 restart 設定を再読み込みする
   反対に、無効にする場合は「a2dismod」「a2dissite」を使う
  ※この前に、「default」にバーチャルホスト設定をしておくことを忘れずに。

10 証明書の更新
  証明書の有効期限が90日なので、自動更新することにします。
  今回はCrontabを使用して1か月ごとに強制的に更新します。
 ~/certbot-auto renew –force-renewal && systemctl status apache2.service

参考文献
 Let’sEncrypt総合ポータル
 MyDNSとLet’sEncryptを使って、FreeBSD上のapache24
 Dynamic DNS と https化 (ownCloud + Raspberry Pi 続き)をhttps化してみた
 Let’s Encryptの無料SSL証明書で、ウェブサイトを安全に公開する

LinuxPCWordPress
スポンサーリンク
kotohaをフォローする

コメント