记录下最近编译安装的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的加密套件。