べくとりうむ.py Written by TicTak(※現在ブログ工事中のため、見づらい点があり申し訳ないです)

【Django】HTTPS化を「3ステップ」で完了させる方法を紹介【HTTPSでセキュリティ強化】

Django python

こんにちは、ちくたっく(@tictak_py)です。

今回は、Djangoで作成したWebアプリケーションを「https化」する方法を紹介していきます。

独自ドメインでアクセス出来るようになっても、デフォルトでは「http://~」で表示されます。

Google Chromeなど、多くのブラウザではHTTP通信は「保護されていない通信」と表示されるようになっているので、通信データを暗号化出来るHTTPS化は必須の対策と言えます。

こんな方に読んで欲しい記事です

  • Djangoで「https化」する方法を知っておきたい方
  • 個人開発したWebアプリケーションをhttps化出来るようにしたい方

リソースが限られている個人開発を想定しているので、「気軽にhttps化出来るようにしたい!」という方は本記事の3ステップを参考にしてみてください。

なお、Djangoで独自ドメインを設定する方法は以下記事で紹介しています。

https化するための「3ステップ」

今回紹介する3ステップは以下の手順で進めていきます。

  • 【手順①】https化するためのライブラリをインストール
  • 【手順②】certbotの実行
  • 【手順③】証明書の自動更新

英語のサイトですが、コチラの情報を参考にしています。原文読める方はどうぞ。

まず最初に、https化に必要なライブラリをインストールしていきます(手順①)。
以下コマンドで「python3-certbot-nginx」をインストールします。

sudo apt install python3-certbot-nginx

以下のようなインストール画面が出てくればOKです。

python3-certbot-nginxのインポート画面

続いては、certbotの実行をしていきます(手順②)。
certbotというのは、Let’s Encryptで提供されているHTTPS化無料支援ツールのことです。

手順②では、以下コマンドを入力するだけです。

sudo certbot --nginx -d <ホスト名>

※ 独自ドメインを設定している場合は、ホスト名部分にドメインを入力します。

コマンドを入力すると、いくつか確認画面が出てくるので、内容を確認しつつ進めていきます。


確認画面①|メールアドレスの入力(空白OK)
確認画面②|利用規約の確認
確認画面③|メール共有の有無
確認画面④|リダイレクトの設定

上記設定・確認が無事完了すれば、以下のようなメッセージが出てきます。
これで手順②は完了です。

設定完了のメッセージ

最後に、証明書を自動更新してくれるように設定しておきます(手順③)。
手順③のコマンドは以下です。

sudo certbot renew --dry-run 

これですべての設定は完了です。
問題なければ、ブラウザ上で「https://~」として表示されるようになっているはずです。

さいごに

今回は、Djangoで「https化」する方法を3ステップで紹介してきました。
設定自体は比較的簡単に出来るので、Webアプリケーションのhttps化に悩んでいる方の参考になれば幸いです。

では今回はこのへんで。