Debian/Ubuntu Linux上为Nginx安装和配置SPDY SSL
时间:2019-11-20 08:53:13 来源:igfitidea点击:
SPDY是一种主要由Google开发的开放式网络协议,用于传输Web内容。
Google Chrome/Chromium,Firefox和Opera浏览器支持SPDY网络协议。
它可以在受支持的站点上更快地浏览。 SPDY与HTTP相似,其特定目标是减少网页加载延迟并提高Web安全性。 SPDY通过压缩,多路复用和优先级排序来减少延迟。
如何启用在Debian或Ubuntu Linux服务器上运行的Nginx SPDY支持?
安装所需的软件
执行下面命令安装:
$ sudo apt-get install libssl-dev libpcre3 libpcre3-dev
在Debian或Ubuntu Linux上安装编译器和构建工具:
$ sudo apt-get install build-essential
验证版本
执行以下命令:
gcc --version make --version openssl version
删除nginx-full和nginx-comman,以便重新编译安装:
先备份配置文件,然后卸载nginx
sudo mkdir -p /root/old.nginx/etc_nginx/ sudo cp -avr /etc/nginx/* /root/old.nginx/etc_nginx/ sudo apt-get remove nginx-full nginx-common
编译安装nginx:
$ sudo make install
Nginx SPDY配置
为Nginx生成并安装SSL证书。
编辑nginx.conf:
$ sudo vi /usr/local/ngnix/conf/nginx.conf
或者
$ sudo vi /etc/nginx/nginx.conf
将:
listen 202.54.1.1:443 ssl;
更改成
listen 202.54.1.1:443 ssl spdy;
配置示例:
server {
### server port and name ###
listen 202.54.1.1:443 ssl spdy;
server_name theitroad.com;
### SSL log files ###
access_log logs/ssl-access.log;
error_log logs/ssl-error.log;
### SSL cert files ###
ssl_certificate ssl/theitroad.com.crt;
ssl_certificate_key ssl/theitroad.com.key;
### Add SSL specific settings here ###
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers RC4:HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
keepalive_timeout 60;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
### We want full access to SSL via backend ###
location / {
proxy_pass http://theitroad;
### force timeouts if one of backend is died ##
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
### Set headers ####
proxy_set_header Accept-Encoding "";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
### Most PHP, Python, Rails, Java App can use this header ###
#proxy_set_header X-Forwarded-Proto https;##
#This is better##
proxy_set_header X-Forwarded-Proto $scheme;
add_header Front-End-Https on;
## Let the browser know about spdy ##
add_header Alternate-Protocol 443:npn-spdy/2;
### By default we don't want to redirect it ####
proxy_redirect off;
}
重新加载nginx服务器,使设置生效:
$ sudo /usr/sbin/nginx -s reload
测试spdy
- Firefox用户尝试使用浏览器SPDY指示器插件。
- Google Chrome或Chromium用户,可以使用浏览器SPDY指示器插件。
另外,Chrome浏览器或Chromium用户也可以在地址栏中输入以下地址查看:
chrome://net-internals/#spdy

