最近在调试微信小程序时,发现wx.request请求总是无法正确获取服务器端的数据,经过检查发现是因为服务器端https不支持微信要求的TLS 1.2版本。

登录到服务器上,用openssl version -a命令查询,发现版本是0.9.8e,查阅文档得知OpenSSL从1.0.1开始才支持TLS 1.2,那么我们就来对OpenSSL进行个升级。

准备工作:

1.下载新版OpenSSL源码包https://www.openssl.org/source/openssl-1.0.1u.tar.gz

2.开启主机的telnet,以防升级过程中遇到问题,可通过telnet补救。

开启telnet的方法

通过# rpm -qa |grep telnet-server命令查询telnet-server是否已经安装,如果没装可以通过yum install telnet-server安装。

telnet服务需要依赖xinetd启动,可以通过vi /etc/xinetd.d/telnet,将 service telnet{}里面的disable=yes改为disable=no,保存后用service xinetd restart命令重启xinetd服务,就可以登录telnet了,升级完成后别忘记关闭telnet。

telnet开启后,我们开始正式升级OpenSSL

首先用下载的源码包编译安装

tar zxvf openssl-1.0.1u.tar.gz

cd openssl-1.0.1u

./config shared zlib-dynamic

make

make install

1

2

3

4

5

tarzxvfopenssl-1.0.1u.tar.gz

cdopenssl-1.0.1u

./configsharedzlib-dynamic

make

makeinstall

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

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

1

/usr/local/ssl/bin/opensslversion-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

1

2

3

4

5

6

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再看一下版本号,如果显示的是新的版本号,就说明安装和替换旧版都成功了

最后我们要看一下Nginx的编译参数

/home/server/nginx/sbin/nginx -V

1

/home/server/nginx/sbin/nginx-V

如果不存在–with-openssl这样的编译参数,就说明Nginx采用的是动态方式编译的SSL,这种情况直接重启Nginx就好了,否则就是静态方式的,需要重新对Nginx进行编译。

相关内容:

linux升级tls,为CentOS升级OpenSSL 让Nginx支持TLS 1.2相关推荐

  1. linux yum zlib安装,Centos升级zlib库导致yum运行错误

    今天在编译LNMP环境时,遇到系统zlib版本有点低,由于Nginx需要指定zlib库安装位置,所以干脆就直接替换掉系统自带的zlib.在这里遇到了一个问题:升级zlib时候,是用yum直接升级呢,还 ...

  2. centos升级软件

    1.说明 centos安装的软件版本太老的话也是要升级的,不过他的升级方式和win的有所不同,win是直接升级,而centos升级要先删除,然后在安装新的版本 本次安装以cmake为例子 2.步骤 2 ...

  3. CentOS 7 下安装 Nginx

    安装所需环境 Nginx 是 C语言 开发,建议在 Linux 上运行,当然,也可以安装 Windows 版本,本篇则使用 CentOS 7 作为安装环境. 一. gcc 安装 安装 nginx 需要 ...

  4. 如何升级Linux内核(RHEL/Fedora/CentOS升级内核 Debian/Ubuntu升级内核)

    转载来源:https://www.cyberciti.biz/faq/linux-kernel-upgrade-howto/ 如何升级Linux内核 升级我的Linux内核?我想升级内核而不从源代码编 ...

  5. CentOS升级polkit版本,解决 Linux Polkit 存在权限提升的漏洞 (CVE-2021-4034)

    CentOS升级polkit版本 漏洞描述 影响范围 参考安全版本 演示环境检查 离线升级操作 在线升级操作 漏洞描述 受影响版本的 pkexec 无法正确处理调用参数计数,最终尝试将环境变量作为命令 ...

  6. ssh 用密码连接不上、查看openSSH 的版本、CentOS - 升级openSSH,修复安全漏洞

    一  ssh密码连接 1,检查ssh配置文件 #vim /etc/ssh/sshd_config 130 UseDNS no 131 AddressFamily inet 132 PermitRoot ...

  7. centos升级glibc动态库

    glibc是gnu发布的libc库,即c运行库,glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc.glibc除了封装linux操作系统所提供的系统服务外,它本身也提供 ...

  8. linux下安装或升级GCC 4.8以上版本(包括),以支持C++11

    本文转载自:http://www.cnblogs.com/lizhenghn/p/3550996.html C++11标准在2011年8月份获得一致通过,这是自1998年后C++语言第一次大修订,对C ...

  9. CentOS升级Python2.7及安装pip

    CentOS升级Python2.7及安装pip<?xml version="1.0" encoding="UTF-8"?> CentOS升级Pyth ...

最新文章

  1. 如何在html页面循环回显数据,从while循环显示数据到html代码
  2. [学习笔记]最小圆覆盖
  3. python3面向对象(1)
  4. 动画狗奔跑gif图片_常用的GIF制作工具,自媒体人常用,你还不会做表情包
  5. AHS of FCGRC 停课 Day 4
  6. 一个css文件里实际并不存在的class,不能给element layout产生任何影响
  7. arm linux 页表寻址,操作系统中的页表寻址
  8. python深度学习第一讲——用python写神经网络
  9. Geoserver的ImageMosaic数据源添加以及服务发布
  10. 一级计算机2016难度,2016年计算机等级一级考前必看
  11. 5.8. tensorflow2实现SVD推荐系统——python实战 (下篇)
  12. internet与Internet的区别
  13. bootcamp空间不足_Bootcamp安装WindowsXP补丁时C盘空间不足的解决措施
  14. 阿里云大学>【Python学习路线】Python语言基础自测考试 - 初级难度 | 包过关系列
  15. 三维点云数据处理软件供技术原理说明_三维点云数据获取方法及获取系统技术方案...
  16. Delphi 制作股票分时图
  17. 计算机网络在信息时代的作用
  18. jquery学习总结
  19. [译转]how browsers work
  20. react+amcharts5柱状图demo

热门文章

  1. apache spark_Apache Spark:更改架构之前必须解决的5个陷阱
  2. java中重载 参数顺序_Java方法中的参数太多,第4部分:重载
  3. JDK 9:NotNullOrElse方法已添加到Objects类
  4. 在JDK 10中不可变与不可修改
  5. 微服务系列:MicroProfile和Apache TomEE
  6. jsf集成spring_Spring和JSF集成:动态导航
  7. spring 开发环境_设置Spring 3开发环境
  8. 使用Spring AOP和Guava速率限制器的节气门方法
  9. 使用FizzBu​​zz和Mockito进行单元测试
  10. 使对易失性字段的操作原子化