说明
由于openssl不提供1.X版本,只提供3.x版本,现以openssl3.0+nginx1.26源码安装
实施
安装依赖依赖
1 | yum -y groupinstall "Development tools" |
openssl编译安装
下载 openssl 源码包
1 | wget https://www.openssl.org/source/openssl-3.0.13.tar.gz |
编译 openssl 安装
1 | ./config --prefix=/usr/local/openssl shared zlib |
备份老 openssl
1 | mv /usr/bin/openssl /usr/bin/openssl.oldbak |
创建 openssl 软链接
1 | ln -sf /usr/local/openssl/bin/openssl /usr/bin/openssl |
更新加载动态连接库数据
1 | openssl放弃了32位,默认采用64位 |
检查 openssl 版本
1 | openssl version |
nginx编译安装
下载 nginx 源码包
1 | wget https://nginx.org/download/nginx-1.26.0.tar.gz |
创建用户
1 | 创建一个用户运行nginx |
修复文件
由于nginx 1.26默认只支持1.x,需要对源码进行修改
1 | vim auto/lib/openssl/conf |
编译安装
编译完成指定安装到/usr/local/nginx
1 | ./configure --prefix=/usr/local/nginx --user=${run_user} --group=${run_group} --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-http_ssl_module --with-http_gzip_static_module --with-http_realip_module --with-http_flv_module --with-http_mp4_module --with-openssl=/usr/local/openssl --with-stream --with-stream_ssl_module --group=www --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_gunzip_module --with-http_random_index_module --with-http_secure_link_module --with-http_slice_module --with-http_v3_module --with-mail --with-mail_ssl_module --with-stream_realip_module --with-stream_ssl_preread_module |
添加环境变量
1 | echo "export PATH=/usr/local/nginx/sbin:$PATH" >> /etc/profile |
检查 nginx 版本
1 | nginx -V |
nginx配置提示
Nginx在1.25.0版本中实验性的支持HTTP/3后,在1.25.1版本中弃用了listen指令的http2参数,单独加入了http2指令。
错误方式:
listen 443 ssl http2;
正确方式:
listen 443 ssl;
http2 on;