SSL Using Gunicorn for Django



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

更新:Gunicorn自0.17.0/2012-12-25起添加了SSL支持。

原始答案:

Gunicorn本身不支持SSL。有一个打开的添加请求https://github.com/benoitc/gunicorn/pull/265.X-FORWARDED-PROTOCOLX-FORWARDED-SSL报头将由Gunicorn前面的代理(如Nginx)使用,Gunicorns负责SSL终止。

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

尽管有许多HTTP代理可用,但我们强烈建议您使用Nginx。如果您选择另一个代理服务器,则需要确保在使用默认Gunicorn工作程序时,它能缓冲速度较慢的客户端。如果没有这种缓冲,Gunicorn将很容易受到拒绝服务攻击。您可以使用slowlois来检查您的代理是否正常工作。

最新更新