SSL使用Gunicorn为Django

Lea*_*lio 1 django ssl nginx gunicorn

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

Mar*_*vin 5

更新:Gunicorn从0.17.0/2012-12-25增加了SSL支持.

原始答案:

Gunicorn本身不支持SSL.有一个打开拉请求添加它https://github.com/benoitc/gunicorn/pull/265.的X-FORWARDED-PROTOCOLX-FORWARDED-SSL头将由在Gunicorn前方的代理(如Nginx的),它确实SSL终止使用.

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

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