欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

为Nginx添加SPDY功能

程序员文章站 2023-11-25 23:01:40
本人帮协会搭的论坛,一直是使用ssl访问的,但是普通的https既慢又吃资源,而有个协议可以很方便的解决这个问题,那就是大google发明的spdy协议。所以,我也开始尝试...

本人帮协会搭的论坛,一直是使用ssl访问的,但是普通的https既慢又吃资源,而有个协议可以很方便的解决这个问题,那就是大google发明的spdy协议。所以,我也开始尝试着给自己的论坛加上spdy协议,web服务器本人选择的是nginx,在过去,nginx并没有内置spdy协议,需要打开的话还要下载开发版然后手动编译,很不方便。喜闻乐见的是,最近nginx发布了1.6稳定版,这个版本终于内置了spdy的支持,也是我等广大建站人员的福音啊,我也就迫不及待的给论坛加上了spdy协议支持了。 首先明确打开spdy协议的前提,以下三个缺一不可:

1.openssl 1.0.1e 或更高版本
2.网站已经安装了ssl证书
3.nginx 1.6 stable 或者 1.5development
首先检查openssl的版本

centos 6 可以使用以下命令

复制代码 代码如下:

[root@do ~]# rpm -q openssl
openssl-1.0.1e-16.el6_5.14.i686

可以看到centos 6 内置的openssl已经是满足要求了,如果是centos5的话就需要手动升级了 ubuntu , debian 和其他发行版可以用以下命令检查版本

复制代码 代码如下:

[root@do ~]# openssl version
openssl 1.0.1e-fips 11 feb 2013

检查 nginx 的版本
使用以下命令检查nginx的版本

复制代码 代码如下:

[root@do ~]# nginx -v
nginx version: nginx/1.6.0

用以下命令查看nginx里是否包含了spdy

复制代码 代码如下:

[root@do ~]# nginx -v |grep spdy
nginx version: nginx/1.6.0
built by gcc 4.4.7 20120313 (red hat 4.4.7-4) (gcc)
tls sni support enabled
configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-http_auth_request_module --with-mail --with-mail_ssl_module --with-file-aio --with-ipv6 --with-http_spdy_module --with-cc-opt='-o2 -g -pipe -wp,-d_fortify_source=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables'

如果看到–with-http_spdy_module 就说明是满足要求的。 如果没有满足要求,请去 http://nginx.org/ 下载安装1.6 stable

打开nginx的spdy支持
假设已经在nginx上配置了ssl的支持,那么打开spdy就会非常的简单 把以下ssl的配置

复制代码 代码如下:

listen [::]:443 ssl;
listen 443 ssl;

改成

复制代码 代码如下:

listen [::]:443 ssl spdy;
listen 443 ssl spdy;

然后重启nginx服务  即可 大功告成