Webアプリケーション プログラミング系 Django python SSL WEB開発 非エンジニア向け

【Django】HTTPS化を「3ステップ」で完了させる方法を紹介

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

独自ドメインでアクセス出来るようになっても、デフォルトでは「http://~」で表示されます。
Google Chromeなど、多くのブラウザではHTTP通信は「保護されていない通信」と表示されるようになっているので、通信データを暗号化出来るHTTPS化は必須の対策と言えます。

【こんな人に読んで欲しい記事です】

● Djangoで「https化」する方法を知っておきたい方

● 個人開発したWebアプリケーションをhttps化出来るようにしたい方

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

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

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

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

【手順①】 https化するためのライブラリをインストール

【手順②】 certbotの実行

【手順③】 証明書の自動更新

英語のサイトですが、コチラの情報を参考にしています。原文読める方はどうぞ。
>> How To Secure Nginx with Let’s Encrypt on Ubuntu

まず最初に、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化に悩んでいる方の参考になれば幸いです。

では今回はこのへんで。