我上一篇提到给 OpenSSL 升级和给它添加 ChaCha20-Poly1305 的加密套件,所以这篇文章就是给Nginx编译新的 OpenSSL 让其也支持 ChaCha20-Poly1305 的加密套件。本篇教程也在本站linpx.com上实践与应用,另外教程只在CentOS 7实战过。
首先,我们需要下载最新版的 Nginx 的源码
cd /usr/src
wget http://nginx.org/download/nginx-1.9.12.tar.gz
tar -xzvf nginx-1.9.12.tar.gz
查看自己的Nginx的configure arguments有哪些,下一步的安装编译需要用到
nginx -V
nginx version: nginx/1.9.11
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_v2_module --with-http_ssl_module --with-ipv6 --with-http_gzip_static_module --with-http_realip_module --with-http_flv_module --with-ld-opt='-ljemalloc'
知道自己的configure arguments后,复制后面的configure,下面编译需要
在编译的时候,configure需要带上 --with-openssl=/usr/src/openssl-1.0.2g
,如
--prefix=/usr/local/nginx --user=www --group=www --with-openssl=/usr/src/openssl-1.0.2g --with-http_stub_status_module --with-http_v2_module --with-http_ssl_module --with-ipv6 --with-http_gzip_static_module --with-http_realip_module --with-http_flv_module --with-ld-opt='-ljemalloc'
开始安装编译
cd nginx-1.9.12
./configure --prefix=/usr/local/nginx --user=www --group=www --with-openssl=/usr/src/openssl-1.0.2g --with-http_stub_status_module --with-http_v2_module --with-http_ssl_module --with-ipv6 --with-http_gzip_static_module --with-http_realip_module --with-http_flv_module --with-ld-opt='-ljemalloc'
make
make install
检查
nginx -V
nginx version: nginx/1.9.12
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC)
built with OpenSSL 1.0.2g 1 Mar 2016
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --user=www --group=www --with-openssl=/usr/src/openssl-1.0.2g --with-http_stub_status_module --with-http_v2_module --with-http_ssl_module --with-ipv6 --with-http_gzip_static_module --with-http_realip_module --with-http_flv_module --with-ld-opt=-ljemalloc
至此,我们实现了升级Nginx和给Nginx配上支持有 ChaCha20-Poly1305 的OpenSSL。
本文由 Chakhsu Lau 创作,采用 知识共享署名4.0 国际许可协议进行许可。
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。
为什么我哦编译的时候 会告诉我 ./configure: error: invalid option "--with-http_spdy_module"
没有这个SPDY模块,其实HTTP/2的前身是SPDY,升级Nginx 如果开启 HTTP/2 建议用 --with-http_v2_module 这个模块····