当前位置:网站首页 >  资讯

服务器安全协议升级:从TLS1.2到TLS1.3实操落地完整指南

时间:2026年06月09日 01:40:57 来源:易频IT社区

前置准备

操作前确认以下基础信息,避免卡壳:

  • 当前服务器系统:需为CentOS7.x、Ubuntu20.04或更高版本(不支持CentOS6)
  • 当前OpenSSL版本:执行openssl version,需确认版本低于1.1.1(低于则需升级)
  • 当前Nginx版本:执行nginx -v,需确认版本低于1.25(低于则需升级,Apache用户可参考同逻辑)

步骤1:升级OpenSSL至1.1.1w(支持TLS1.3最低版本)

旧版OpenSSL无TLS1.3支持,需编译安装最新稳定版:

1.1 安装编译依赖

执行以下命令一键安装依赖:

``` CentOS系统 yum install -wget gcc make perl zlib-devel -y Ubuntu/Debian系统 apt update && apt install -ywget gcc make perl zlib1g-dev ```

1.2 下载并编译OpenSSL

执行以下命令下载、编译并安装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 ```

1.3 更新系统软链接并验证

覆盖系统默认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则升级成功。

步骤2:升级Nginx至1.25.3(支持TLS1.3)

旧版Nginx需指定新OpenSSL路径编译,确保TLS1.3支持:

2.1 备份旧版Nginx

服务器安全协议升级:从TLS1.2到TLS1.3实操落地完整指南

防止升级失败回滚:

``` cp /usr/sbin/nginx /usr/sbin/nginx.bak ```

2.2 下载并编译新Nginx

执行以下命令编译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 ```

2.3 验证Nginx版本

执行nginx -v,输出为nginx version: nginx/1.25.3则升级成功。

步骤3:配置Nginx启用TLS1.3

修改Nginx的SSL站点配置,以下是完整可直接复制的配置(适用于单站点):

3.1 编辑SSL站点配置

编辑配置文件,路径为/etc/nginx/conf.d/yourdomain.conf,替换为你的域名:

``` server { listen 443 ssl http2; server_name yourdomain.com; 替换为你的域名 ssl_certificate /etc/nginx/ssl/yourdomain.crt; 替换为你的证书路径 ssl_certificate_key /etc/nginx/ssl/yourdomain.key; 替换为你的私钥路径 核心安全协议配置 ssl_protocols TLSv1.2 TLSv1.3; 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:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; 其他站点配置(如根路径、日志等,按需补充) location / { root /usr/share/nginx/html; index index.html index.htm; } } ```

3.2 重载Nginx配置

执行命令验证配置并重启:

``` nginx -t 验证配置是否正确 systemctl reload nginx ```

步骤4:验证TLS1.3生效

执行以下命令验证协议是否启用,替换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号 网站地图