0
1

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 3 years have passed since last update.

let's encrypt + certbotで自宅鯖(Nginx on Ubuntu20.04)にTLSを導入しよう

Last updated at Posted at 2020-12-06

はじめに

なんとなく、TLSの導入って面倒の割にリターンが少ないような印象を抱いていたのですが、certbotというツールのおかげで2020/12/06現在驚くべきほどに簡単になっていたので共有しておきます。

あんまりしっかりした記事じゃないですが、とりあえず防備録として書いておきます。

certbot
let's encrypt

環境

  • OS: Ubuntu 20.04
  • nginx

準備・前提

前提として、httpでurlを使ってアクセス出来るwebサービスが自宅サーバーで可動してる状況を想定しています。これはちなみにDDNSとかでも大丈夫でした。私が実験をしたときには、いくつかのサービスがdockerコンテナ上で可動しており、Nginxがドメイン名を見て、適切なportにアクセスをフォワードするような構成になっていました。

また、webサービスを提供中のサーバーにはsshでアクセスできるものとします。また、各webサービスにはポート80で接続できるものとします。

手順

  • webサービスを提供している自鯖にsshで接続
  • snapdのインストール参考
$ sudo apt update
$ sudo apt install snapd
  • certbotのインストール
sudo snap install --classic certbot
  • コマンド実行用のシンボリックリンクの作成
sudo ln -s /snap/bin/certbot /usr/bin/certbot
  • certbotコマンドの実行
sudo certbot --nginx

なんと、これで終わりです。後は、certbotがメールアドレスの入力や、各種規約への同意を促して来ますが、聞かれたとおりに返信していくだけで、なんとNginx上の設定まで自動的に行ってくれます。

ただし、一点だけ注意として、ポートの80と443は開放しておいてください。私はこの443の開け忘れに気が付かず、少し時間を無駄にしてしまいました。
自宅サーバなどで、ルータからポートフォワーディングをしている場合には、443についての設定を追加することもお忘れなく。

また、今回は、Nginx on Ubuntu20.04のケースでしたが、それ以外の場合にも、公式で以下のようにして、手順の説明を見ることができます:

  1. certbotの公式サイトメニューからcertbot instructionにアクセス
  2. My HTTP website is running ... の部分でお使いのツールを選択
0
1
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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?