Nginx使用中出现的一些问题

TLS版本过低

控制台提示:The connection used to load resources from https://xxx.test.com used TLS 1.0 or TLS 1.1, which are deprecated and will be disabled in the future. Once disabled, users will be prevented from loading these resources. The server should enable TLS 1.2 or later. See https://www.chromestatus.com/feature/5654791610957824 for more information.

这是由于TLS版本过低导致,需要升级openssl版本(1.0.1以上的版本支持 TLS1.2,1.1.1以上的版本支持 TLS1.3)并重新编译nginx

openssl升级可以参考另外一篇文章,这里只贴出nginx编译升级的过程

复制代码
# nginx编译升级
# 安装所需依赖(openssl编译升级过的无需通过yum安装)
yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel
# 下载安装包
cd ~ && wget https://nginx.org/download/nginx-1.17.1.tar.gz
# 解压
tar -zxf nginx-1.17.1.tar.gz
# 查看nginx启用的模块
nginx -V > /root/test.txt 2>&1
modules=`cat /root/test.txt |awk -F':' 'NR==5{print $2}'`
# 编译升级(切勿make install)
cd nginx-1.17.1 && ./configure $modules && make
# 备份nginx执行文件
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx-bak
# 替换新版本nginx执行文件
nginx -s quit && \cp objs/nginx /usr/local/nginx/sbin/nginx
# 启动nginx服务
/usr/local/nginx/sbin/nginx
复制代码

 

# 批量注释以前的配置
for i in `ls`;do echo sed -i 's/^ssl_protocols/#&/' $i;done
# 指定内容的下一行添加配置(/a)
for i in `ls`;do sed -i '/#ssl_protocols/assl_protocols TLSv1 TLSv1.1 TLSv1.2;' $i;done
# 启用所有协议,禁用已废弃的不安全的SSLv2和SSLv3(必须在所有站点中配置以下参数才能生效,上面的sed已添加)
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

注意:./configure $modules时,如openssl编译升级过的,需要指定路径:./configure xxxxx --with-openssl=/usr/local/include/openssl

如仍然报错找不到openssl模块等,需要修改nginx源码包openssl的配置文件

复制代码
vim /root/nginx-1.17.1/auto/lib/openssl/conf
# 将以下配置进行相应的修改(find一下就知道路径各个模块的路径了)
# $OPENSSL变量的值是--with-openssl指定的路径

            CORE_INCS="$CORE_INCS $OPENSSL/"
            CORE_DEPS="$CORE_DEPS $OPENSSL/ssl.h"
            CORE_LIBS="$CORE_LIBS /usr/local/lib64/libssl.a"
            CORE_LIBS="$CORE_LIBS /usr/local/lib64/libcrypto.a"
            CORE_LIBS="$CORE_LIBS $NGX_LIBDL"
复制代码

 

posted @   MegaloBox  阅读(841)  评论(0编辑  收藏  举报
编辑推荐:
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
阅读排行:
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 《HelloGitHub》第 106 期
· 数据库服务器 SQL Server 版本升级公告
· 深入理解Mybatis分库分表执行原理
· 使用 Dify + LLM 构建精确任务处理应用
点击右上角即可分享
微信分享提示