通过SPDY [1]协议为Django应用程序提供服务的最佳方法是什么?
答案 0 :(得分:3)
一种方法是使用Jetty在Jython上运行Django - http://www.evonove.it/blog/en/2012/12/28/django-jetty-spdy-blazing-fast/
另外,显然nginx对SPDY有一些draft module
答案 1 :(得分:1)
适用于nginx> 1.5.10和Django作为fastcgi服务器运行。
最新版本的Chrome和Firefox dropped support for SPDY v2。因此,您至少需要在服务器端支持SPDY3。 Nginx versions higher than 1.5.10支持协议的第3版。
Django主线安装
目前(截至2014年2月)Nginx> 1.5.10仅可从主线分支获得,而非稳定分支。在大多数Linux发行版中,最简单的方法是安装mainline packages provided by the nginx project。
Nginx和Django配置
Django文档解释了如何运行Django with Nginx through fastcgi。在那里提供的配置可以作为起点。
此外,您需要为主机提供SSL证书,并通过以下方式扩展Nginx配置:
需要将listen配置选项修改为:
从listen 80;
到listen 443 ssl spdy;
。
您需要添加基本的ssl配置选项,最重要的是添加证书和密钥。
因此,两种修改相结合,配置可能如下所示:
server {
listen 443 ssl spdy;
server_name yourhost.example.com;
ssl_certificate <yourhostscertificate>.pem;
ssl_certificate_key <yourhostskey>.key;
ssl_prefer_server_ciphers on;
location / {
include fastcgi_params;
fastcgi_pass 127.0.0.1:8080;
}
}
然后在fastcgi模式下运行Django,如下所示:
python ./manage.py runfcgi host=127.0.0.1 port=8080
测试您的设置
chrome://net-internals/#spdy
X-Firefox-Spdy:"3.1"
响应标题。