当我启动Gunicorn服务时,我目前使用此命令启动它:
gunicorn --certfile=/Projects/thebodyofchrist.us.crt --keyfile=/Projects/thebodyofchrist.us.key bodyofchrist.wsgi -b 0.0.0.0:443 -b 0.0.0.0:80 -w 10
将gunicorn绑定到http和https - 或设置apache2以侦听http并使用现有参数将请求重定向到https。
我有http://example.com/sample/request
的数百个链接
并需要它自动转到https://example.com/sample/request
gunicorn正在主持django。
感谢您的帮助!
答案 0 :(得分:5)
Gunicorn是一个非常可靠的项目,我希望他们有一天能够使用多个端口绑定和命令行开关来构建它,以指示SSL优先级。
当您最终投入生产时,您将希望使用Apache或Nginx的卓越负载平衡。
但是没有什么能阻止你(在开发期间)运行绑定到端口80的一些工作程序,并且一些工作程序使用密钥文件和certfile集绑定到端口443。然后,您可以将登录链接写为"绝对"网址,例如HREF =" https://开头yoursite /登录"登录后,他们将使用https网址。
#!/bin/sh
# put 8 workers as Daemon listening for HTTPS on 443
gunicorn -D -w 8 --certfile=/Projects/thebodyofchrist.us.crt --keyfile=/Projects/thebodyofchrist.us.key bodyofchrist.wsgi -b 0.0.0.0:443
# put 2 workers as Daemon listening for HTTP on port 80
gunicorn -D -w 2 bodyofchrist.wsgi -b 0.0.0.0:80
答案 1 :(得分:1)
可以绑定多个地址。例如:
gunicorn -b 127.0.0.1:8000 -b [::1]:8000 test:app
https://docs.gunicorn.org/en/stable/settings.html?highlight=bind#server-socket
所以你可以这样做
gunicorn -b :80 -b :443 test:app
答案 2 :(得分:0)
这种支持可以添加到gunicorn中。当下这是不可能的。