私はgunicornを使用してdjangoプロジェクトを実行しています.sslを使用して実行したいのですが、インターネットでこの辞書が必要であることを発見しました "{'X-FORWARDED-PROTOCOL': 'ssl', 'X-FORWARDED-SSL' : 'の上'}"。しかし、どこに置くのですか?コマンド gunicorn_django で ssl を使用して実行する方法はありますか? 私はnginxを使用しておらず、使用したくありません。ありがとう。
1 に答える
更新: Gunicorn は0.17.0 / 2012-12-25の時点で SSL サポートを追加しました。
元の答え:
Gunicorn 自体は SSL をサポートしていません。それを追加するオープン プル リクエストがあります https://github.com/benoitc/gunicorn/pull/265。X-FORWARDED-PROTOCOL
およびヘッダーは、X-FORWARDED-SSL
SSL ターミネーションを行う Gunicorn の前にあるプロキシ (Nginx など) によって使用されます。
SSL を使用するために Nginx を使用する必要はありません。Apache/mod_proxy または HAProxy または SSL をサポートするその他のプロキシ サーバーを使用できます。SSL を必要としない場合でも、Gunicorn を使用して遅いクライアントをバッファリングする場合は、プロキシ サーバーの使用をお勧めしますhttp://gunicorn.org/deploy.html
利用可能な HTTP プロキシは多数ありますが、Nginx を使用することを強くお勧めします。別のプロキシ サーバーを選択する場合は、デフォルトの Gunicorn ワーカーを使用するときに、低速のクライアントをバッファするようにする必要があります。このバッファリングがないと、Gunicorn はサービス拒否攻撃を受けやすくなります。スローロリスを使用して、プロキシが適切に動作しているかどうかを確認できます。