操作前确认以下基础信息,避免卡壳:
openssl version,需确认版本低于1.1.1(低于则需升级)nginx -v,需确认版本低于1.25(低于则需升级,Apache用户可参考同逻辑)旧版OpenSSL无TLS1.3支持,需编译安装最新稳定版:
执行以下命令一键安装依赖:
``` CentOS系统 yum install -wget gcc make perl zlib-devel -y Ubuntu/Debian系统 apt update && apt install -ywget gcc make perl zlib1g-dev ```执行以下命令下载、编译并安装OpenSSL:
``` wget https://www.openssl.org/source/openssl-1.1.1w.tar.gz tar -zxf openssl-1.1.1w.tar.gz cd openssl-1.1.1w ./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl shared zlib make -j$(nproc) make install ```覆盖系统默认OpenSSL链接,确保新编译的版本生效:
``` mv /usr/bin/openssl /usr/bin/openssl.bak ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1 ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1 验证版本 openssl version ```若输出为OpenSSL 1.1.1w 11 Sep 2023则升级成功。
旧版Nginx需指定新OpenSSL路径编译,确保TLS1.3支持:

防止升级失败回滚:
``` cp /usr/sbin/nginx /usr/sbin/nginx.bak ```执行以下命令编译Nginx,指定新OpenSSL路径:
``` wget http://nginx.org/download/nginx-1.25.3.tar.gz tar -zxf nginx-1.25.3.tar.gz cd nginx-1.25.3 ./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --user=nginx --group=nginx --with-http_ssl_module --with-http_v2_module --with-openssl=/usr/local/openssl make -j$(nproc) make install ```执行nginx -v,输出为nginx version: nginx/1.25.3则升级成功。
修改Nginx的SSL站点配置,以下是完整可直接复制的配置(适用于单站点):
编辑配置文件,路径为/etc/nginx/conf.d/yourdomain.conf,替换为你的域名:
执行命令验证配置并重启:
``` nginx -t 验证配置是否正确 systemctl reload nginx ```执行以下命令验证协议是否启用,替换yourdomain.com为你的实际域名:
``` openssl s_client -connect yourdomain.com:443 -tls1_3 ```输出中找到Protocol : TLSv1.3,且Verify return code: 0 (ok)则配置成功。
易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图