Nginx编译安装记录(支持HTTP2,TLS1.3,Concat模块)

By | 2018年5月25日

记录下最近编译安装的Nginx,以及添加一些新特性,比如Tls1.3,tengine的concat合并请求模块。

首先这里用到了3个安装包,分别是(打包下载地址:https://dfiles.cn/s/h1571v9r):

1、nginx-1.14.0.tar.gz,下载地址:http://nginx.org/download/nginx-1.14.0.tar.gz

2、nginx-http-concat-1.2.2.zip,下载地址:https://github.com/alibaba/nginx-http-concat

3、OpenSSL_1_1_1-pre2.zip,下载地址:https://www.openssl.org/source/old/1.1.1/openssl-1.1.1-pre2.tar.gz

安装过程很简单,首先解压这三个包,然后进入nginx的解压目录(openssl和concat的目录不用管,在编译nginx时会直接引用),开始编译安装,configure命令如下:

./configure 
--prefix=/opt/programs/nginx 
--with-openssl=/opt/nginx_source/openssl_1_1_1-pre2 
--with-openssl-opt='enable-tls1_3 enable-ec_nistp_64_gcc_128 enable-weak-ssl-ciphers'  
--with-http_v2_module 
--with-http_ssl_module 
--add-module=/opt/nginx_source/nginx-http-concat-1.2.2

完成后就是make和make install了。

在配置https证书时,需要修改ssl_ciphers和ssl_protocols参数:

ssl_ciphers   TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+ECDSA+AES128:EECDH+aRSA+AES128:RSA+AES128:EECDH+ECDSA+AES256:EECDH+aRSA+AES256:RSA+AES256:EECDH+ECDSA+3DES:EECDH+aRSA+3DES:RSA+3DES:!MD5;

ssl_protocols TLSv1.3 TLSv1.2 TLSv1.1 TLSv1;

这里的ciphers写了很多,是为了能兼容TLS1.3和TLS1.2,当浏览器不支持TLS1.3时,能自动降为TLS1.2的加密套件。