为CentOS升级OpenSSL 让Nginx支持TLS 1.2

您所在的位置:网站首页 查看openssl 为CentOS升级OpenSSL 让Nginx支持TLS 1.2

为CentOS升级OpenSSL 让Nginx支持TLS 1.2

2023-03-13 22:04| 来源: 网络整理| 查看: 265

查看ssl版本 1 cmd

openssl s_client -connect domain:443 -tls1 (-tls1_1, -tls1_2) 其中domain 表示nginx 域名配置中使用https的域名(例如:www.baidu.com),以上命令可以查看,目前nginx支持的tls版本。

2 chrome

依次打开: 右键->审查(inspect) ->安全(security)。

然后在当前页面访问配置的域名。然后 安全(security) 下点击要查看的域名,即可在右侧的连接中的协议下,看到 tls 版本号。

 

升级安装 1 准备工作:

下载新版OpenSSL源码包

https://www.openssl.org/source # openssl 官网,可查询当前最高版本

wget https://www.openssl.org/source/openssl-1.1.1u.tar.gz #下载 2 解压安装 tar zxvf openssl-1.0.1u.tar.gz cd openssl-1.0.1u ./config shared zlib-dynamic make make install

 安装完成后,我们可以通过默认的安装路径看一下版本号,如果显示OpenSSL 1.0.1u  22 Sep 2016就对了

/usr/local/ssl/bin/openssl version -a

接下来替换掉旧版,创建软连接

mv /usr/bin/openssl /usr/bin/openssl.old mv /usr/include/openssl /usr/include/openssl.old ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl ln -s /usr/local/ssl/include/openssl/ /usr/include/openssl echo "/usr/local/ssl/lib" >> /etc/ld.so.conf ldconfig  #通常在系统启动时运行,而当用户安装了一个新的动态链接库时,就需要手工运行这个命令。

替换掉后,我们就可以直接用

openssl version -a

再看一下版本号,如果显示的是新的版本号,就说明安装和替换都成功了

3.接着要看一下Nginx的编译参数 nginx -V 

如果不存在–with-openssl这样的编译参数,就说明Nginx采用的是动态方式编译的SSL,这种情况直接重启Nginx就好了,

否则就是静态方式的,需要重新对Nginx进行编译。

nginx重新编译 1.从官网下载你正在使用的nginx版本源码,解压文件。 2.进入安装目录 ./configure #加上你的模块参数 make 3.替换nginx

#首先关闭nginx服务(很重要) 在nginx安装文件目录下面,会生成一个 objs 目录,将 objs/nginx替换 /usr/local/nginx/sbin/nginx(nginx的可执行文件)。

4.更改nginx 配置文件

原来的配置文件中,修改ssl设置,所有配置文件中的 ssl_protocols 都改为(有的会配置多个网站,每个都需要改)

ssl_protocols TLSv1.2 TLSv1.1 TLSv1 ; ###或者只保留 TLSv1.2 。   5.重启nginx服务 /usr/local/nginx/sbin/nginx -t #检查配置 /usr/local/nginx/sbin/nginx -s reload #重启

服务器重启之后,执行 nginx -t 是OK的,然而在执行 nginx -s reload 的时候报错

nginx: [error] invalid PID number "" in "/run/nginx.pid"

解决方法:

nginx -c /usr/local/nginx/nginx.conf      #nginx.conf文件的路径可以从nginx -t的返回中找到。 nginx -s reload  

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3