Django ProjectのHTTPSサーバー設定: Let's Encrypt [Django]

Django ProjectのHTTPSサーバー設定: Let's Encrypt [Django]


donald chi / 2017-09-05 23:40

音声ファイル作成中...
Audio: Visited: 3480


背景

二番目のDjango project作成中です。今回は, Django REST frameworkを使って、バックアンド、フロントエンドの完全分離実装, sslによるhttps通信を可能にするなど新しいことに挑戦しながら、進めています。

今回は、ネット上に様々な方からすでに情報共有されていましたが、

  1. Django projectへの設定方法はない
  2. 最近は結構設定しやすくなっているらしいが、それに関する文章はない

という理由から、Let's Encryptという無料証明書を使ったHTTPSサーバー設定についてポスティングします。

条件

まず、今回の設定においては、以下のような条件を満たす必要があります。

  1. ProviderからDomainが取得済みである (例: AWS Route53, ムームードメインなど)
  2. Apache2でサイトの設定ファイルが設定済みである

具体的なやり方

Step 1. Lets encryptのインストール

こちらについて、Lets encryptのoffical pageでは Certbotというソフトを使うのを推薦していましたが、調べて見たら特にそれにしなくても簡単にできるようです。

$ cd /usr/local
$ sudo git clone https://github.com/letsencrypt/letsencrypt

Step 2. SSL証明書を作成する前に

参考文章では、上でインストールした後、すぐに作成コマンドで作っていましたが、うまく行きませんでした。実はその前に以下のような設定が必要なんです。

Step 2.1 DNSサーバーでwww付きドメインの設定

providerから買ったドメインではwwwが付いていないと思いますが、DNSサーバーにてwww付け、Aレコードとして追加する必要があります。Lets Encryptの証明書作成フェーズでwwwがないドメインだとエラーになります。

Domain: example.com
追加部分
Name: www.example.com
Type: A record
Value: サーバーのipアドレス

もちろん、apacheのサイト設定ファイルに以下の項目追加を忘れずに。

ServerAlias www.example.com
Step 2.2 mod_wsgi設定行のコメントアウト

この部分は、Django projectに限ります。Django projectをapache2にdeployする時に mod_wsgiというソフトが必要になります。具合的に、mod_wsgiをインストールした後、設定ファイルに以下のような項目を追加することになります。

WSGIDaemonProcess django_wsgi pythonpath=/var/www/myproject:/usr/local/lib/python2.7/dist-packages  
WSGIProcessGroup django_wsgi
WSGIScriptAlias / /var/www/myproject/myproject/wsgi.py

Lets Encryptは、既存の設定ファイルを参照して証明書を作った後、自動的にssl対応のサイト説定ファイルを作ってくれますが、 上の部分をコメントアウトしないと以下のようなエラーになります。

Name duplicates previous WSGI daemon definition

従って、まず上の部分をコメントアウトし、証明書が作成され、設定された後、ssl対応のサイト説定ファイルの中でコメントアウトをなくすことで対応できます。

Step 3. Let's Encryptによる証明書の作成

いよいよ作成フェーズになりますが、以下のコマンドを実行するだけで簡単に作成できます。しかも、apacheでの設定ファイルも自動で作ってくれます。

cd letsencrypt/
sudo ./letsencrypt-auto --apache -d example.com -d www.example.com

Step 4. mod_wsgiの設定行を有効にするのを忘れずに

Django projectの場合、作成されたapache設定ファイルの中で、mod_wsgi設定行を有効にする必要があります。

最後に

これで、無料ssl証明書を使ったhttps通信が可能になりました。 最後に注意点として、証明書の有効期限です。上のやり方だと、3ヶ月有効なので、期限が切れる前に、renewalする必要があります。こちらに関しては、他の方が共有した情報がたくさんありますので、そちらを参照にすると良いと思います。

作成済みの時、有効期限に関する記述

Your cert will expire on 2017-12-04. To obtain a new or tweaked
version of this certificate in the future, simply run
letsencrypt-auto again with the "certonly" option. To
non-interactively renew *all* of your certificates, run
"letsencrypt-auto renew"

参考文章

Setting up SSL on a Django App with Let's Encrypt - Ubuntu, Apache, and mod_wsgi


0

0

Share with: Facebook Twitter Google+ LinkedIn Wechat Email Print
Tags: django

Comments: 5 件


ブランドバッグのスーパーコピー
mwzhphn@gmail.com

ブランドコピーブランド専門店 ルイヴィトン、シャネル、グッチ、エルメス、クロエ、ルチェ&ガッバ―ナ、バレンシアガ、ボッテガ ヴェネタ、ミュウミュウ、クリスチャンディオールその他の偽物バッグコピー、偽物財布コピー、偽物時計コピー、偽物ベルトコピー、偽物指輪コピー、偽物キーケース、商品は全く写真の通りです。 高級腕時計(N級品),ブランドコピー時計(N級品),財布(N級品)バッグ(N級品),靴(N品),指輪(N級品),ベルト(N級品),マフラー (N級品) 人気の売れ筋商品を多数取り揃えております。全て激安特価でご提供.お願いします. ★100%品質保証!満足保障!リピーター率100%! ★商品数も大幅に増え、品質も大自信です。 ★スタイルが多い、品質がよい、価格が低い! ★顧客は至上 誠実 信用。 ★歓迎光臨★送料無料(日本全国) ホームページ上でのご注文は24時間受け付けております ブランドバッグのスーパーコピー https://www.kopi6.co/product/product-9560.html

ブランドコピー
qxqjbzigqh@ocn.ne.jp

ブランド品激安卸販売専門店 よく知らないんだけど、通販はバッグの専門店が行なっているだけで、シャネルとしては通販自体はまだ行ってないですよね? 言わずもがなトートとか、シャネルのバッグと総称しても色んな種類があるんですけどね。 ブランドコピー財布 ブランドコピー https://www.kopioff.com/tokei/chanel/33/dd6aed9ab48c2b34.html

オーデマピゲスーパーコピー
kmzoyh@softbank.jp

N級コピー 業界最大級のブランドコピーブランド(N級品)激安通販専門店! 世の中のほとんどの ブランドコピー品はココで揃います。 偽物の時計、バッグ、財布など激安で買える! 弊社はルイヴィトン、シャネル、グッチ、エルメス、ロレックス、 オメガなどブランドショップ です。 ブランドブランドコピー専門店、全国送料無料! オーデマピゲスーパーコピー https://www.raku78.com/product-2865.html

coque samsung a10
fawdlapmz@gmail.com

Very good this wonderful write-up. My partner and i experimented with that plus it wonderfully previously worked. coque samsung a10 https://www.anten.fr/collections/coque-samsung-a10

スーパーコピー 売る
enllfok@gmail.com

皆様の絶好評判を偽物ブランドコピー 時計人気専門 ショップです ロレックスブランドコピーなど世界中有名なブランドコピー 時計を格安で通販しております。 N級品ブランドコピー 時計は 業界で最高な品質に挑戦します。! その達成は多数のうちの1つです。 しかし、それは、完成を求めるロレックス、および彼らのエクスプローラーをそれらの成功の主要部分と考える人々の両方をガイドする冒険心を象徴します スーパーコピー 売る https://www.kopiok.com/protype/list-353.html

Add Comment

Name:
Email:
Comment: