SSL使用Gunicorn为Django

时间:2012-07-19 20:20:28

标签: django ssl nginx gunicorn

我正在使用gunicorn运行django项目,我想使用ssl运行它,我在互联网上发现我需要这本词典“{'X-FORWARDED-PROTOCOL':'ssl','X-FORWARDED -SSL':'on'}“。 但是我把它放在哪里?有没有办法在命令gunicorn_django上使用ssl运行它? 我不使用nginx,我不想使用。 感谢。

1 个答案:

答案 0 :(得分:5)

更新:Gunicorn从0.17.0 / 2012-12-25开始添加了SSL支持。

原始答案:

Gunicorn本身不支持SSL。有一个打开拉取请求来添加它https://github.com/benoitc/gunicorn/pull/265。 {(1}}和X-FORWARDED-PROTOCOL标头将由Gunicorn前面的代理(例如Nginx)使用,它会终止SSL。

使用SSL不需要使用Nginx。您可以使用Apache / mod_proxy或HAProxy或任何其他支持SSL的代理服务器。即使不需要SSL,在使用Gunicorn缓冲慢速客户端时也建议使用代理服务器http://gunicorn.org/deploy.html

  

虽然有许多HTTP代理可用,但我们强烈建议您使用Nginx。如果您选择其他代理服务器,则需要确保在使用默认的Gunicorn工作时缓冲客户端缓慢。如果没有这种缓冲,Gunicorn很容易受到拒绝服务攻击。您可以使用slowloris检查您的代理是否正常运行。