什么是在SPDY [1]协议上提供Django应用程序的最佳方法?
它适用于nginx > 1.5.10和Django作为fastcgi服务器运行。
最近的Chrome和Firefox版本取消支持SPDY v2。因此,您需要在服务器端至少支持SPDY3。高于1.5.10版本的Nginx支持协议的第3个版本。
Django主线安装
目前(截至2014年2月),Nginx > 1.5.10仅从主线分支提供,而不是从稳定分支提供。在大多数Linux发行版中,最容易安装的是Nginx项目提供的主线包。
Nginx和Django配置
Django文档解释了如何通过fastcgi运行Django与Nginx。提供的配置可以用作起点。
另外,您需要为您的主机获取SSL证书,并按以下方式扩展Nginx配置:
修改监听配置选项:
从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
中查找活动的SPDY会话。X-Firefox-Spdy:"3.1"
响应头。
mod_wsgi
和mod_spdy
在 Apache 中实现它? - drott