1

AWS EC2 インスタンスで Django を実行しています。

Foursquare API からチェックイン ポストを受信して​​います。Foursquare では、POST の送信先として https アドレスが必要です (ただし、証明書に署名する必要はありません)。

HTTPS を Django で動作させるにはどうすればよいですか? Apache のような別のサーバーが必要になると感じています。これが事実である場合、私は Apache についてほとんど知らず、ほとんどの答えがわかりにくいと思います。

この 1 つのケースでは、https のみが必要です。これを達成する最も簡単な方法は何ですか?

4

1 に答える 1

3

Apache が必須でない場合は、NGINX などの別のサーバーを使用できます。EC2 環境で NGINX を実行するためのチュートリアルがあります。私が NGINX を提案している理由は、パフォーマンスが向上しているからです (注: 比較しましabたが、私の言葉を信じてはいけません)。

NGINX を実行したら、SSL を使用するように構成できます。これを行うためのドキュメントは次のとおりです。NGINX のようなものが必要な理由は、Python がすべてのタイプの要求 (メディア/静的ファイルなど) に最適であるとは限らないためです。uwsgi要求を WSGI ハンドラ (または など)に渡すために NGINX が必要になる場合もありますgunicorn詳細については、こちらをご覧ください。

SSL 証明書に署名する必要がない場合は、自己署名証明書を作成できます。証明書を作成するステップの後に停止できるチュートリアルの例を次に示します (または、Apache を使用する場合は、すべてのステップに進みます)。 )。

いくつかの優れたチュートリアル:

編集: と の両方を処理するhttpにはhttps:

server {
    listen              80;
    listen              443 ssl;
    server_name         www.example.com;
    ssl_certificate     www.example.com.crt;
    ssl_certificate_key www.example.com.key;
    location / {
        ...
    }
}
于 2013-02-02T06:19:41.707 に答える