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