openssl升级

本文详细介绍如何从源码安装 OpenSSL,并进行必要的配置以适配 NGINX 的编译需求,包括软链接创建、库文件和头文件路径调整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

[root@nginx ~]# tar -zvxf openssl-1.1.1a.tar.gz
[root@nginx ~]# cd openssl-1.1.1a
[root@nginx openssl-1.1.1a]# ./config shared zlib
[root@nginx openssl-1.1.1a]# make
[root@nginx openssl-1.1.1a]# make install
 
 
[root@nginx openssl-1.1.1a]# mv /usr/bin/openssl /usr/bin/openssl.bak
[root@nginx openssl-1.1.1a]# mv /usr/include/openssl /usr/include/openssl.bak
 
[root@nginx openssl-1.1.1a]#  find / -name openssl
/etc/pki/ca-trust/extracted/openssl
/data/software/nginx-1.12.2/auto/lib/openssl
/data/software/openssl-1.1.1a/apps/openssl
/data/software/openssl-1.1.1a/include/openssl
/usr/lib64/openssl
/usr/local/share/doc/openssl
/usr/local/include/openssl
/usr/local/bin/openssl
/usr/include/openssl
/usr/bin/openssl
 
#建立openssl 的软路由
[root@nginx openssl-1.1.1a]# ln -s /usr/local/bin/openssl /usr/bin/openssl
[root@nginx openssl-1.1.1a]# ln -s /usr/local/include/openssl /usr/include/openssl
 
查看libssl的目录
[root@external-lb01 ~]# find / -name "libssl*"
/data/software/openssl-1.1.1a/libssl.pc
/data/software/openssl-1.1.1a/libssl.so
/data/software/openssl-1.1.1a/libssl.a
/data/software/openssl-1.1.1a/libssl.so.1.1
/data/software/openssl-1.1.1a/util/libssl.num
/usr/lib64/libssl3.so
/usr/lib64/pkgconfig/libssl.pc
/usr/lib64/libssl.so.1.0.1e
/usr/lib64/libssl.so
/usr/lib64/libssl.so.10
/usr/local/lib64/libssl.a
/usr/local/lib64/pkgconfig/libssl.pc
/usr/local/lib64/libssl.so
/usr/local/lib64/libssl.so.1.1
 
[root@nginx openssl-1.1.1a]# echo "/usr/local/lib64/" >> /etc/ld.so.conf
[root@nginx openssl-1.1.1a]# ldconfig
 
[root@nginx openssl-1.1.1a]# openssl version -a
OpenSSL 1.1.1a  20 Nov 2018
built on: Sun Jan  6 07:53:13 2019 UTC
platform: linux-x86_64
options:  bn(64,64) rc4(16x,int) des(int) idea(int) blowfish(ptr) 
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DZLIB -DNDEBUG
OPENSSLDIR: "/usr/local/ssl"
ENGINESDIR: "/usr/local/lib64/engines-1.1"
Seeding source: os-specific

#为适应NGINX编译需要设置参数
#需要修改openss路径,不然会出现找不到openssl目录的问题
[root@external-lb01 nginx-1.12.2]# cd auto/lib/openssl
[root@external-lb01 openssl]# cp conf /mnt/
[root@external-lb01 openssl]# vim conf
将
            CORE_INCS="$CORE_INCS $OPENSSL/.openssl/include"
            CORE_DEPS="$CORE_DEPS $OPENSSL/.openssl/include/openssl/ssl.h"
            CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libssl.a"
            CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libcrypto.a"
            CORE_LIBS="$CORE_LIBS $NGX_LIBDL"
修改为
            CORE_INCS="$CORE_INCS $OPENSSL/include"
            CORE_DEPS="$CORE_DEPS $OPENSSL/include/openssl/ssl.h"
            CORE_LIBS="$CORE_LIBS $OPENSSL/lib/libssl.a"
            CORE_LIBS="$CORE_LIBS $OPENSSL/lib/libcrypto.a"
            CORE_LIBS="$CORE_LIBS $NGX_LIBDL"

#建立libssl.a和libcrypto.a的软连接,
[root@external-lb01 nginx-1.12.2]# mkdir /usr/local/ssl/lib
[root@external-lb01 nginx-1.12.2]# ln -s /usr/local/lib64/libssl.a /usr/local/ssl/lib/libssl.a
[root@external-lb01 nginx-1.12.2]# ln -s /usr/local/lib64/libcrypto.a /usr/local/ssl/lib/libcrypto.a
 
#建立建立软连接openssl安卓后,/usr/local/ssl/下没有include路径,用重新指向
 [root@localhost ssl]#  ln -s /usr/include/ /usr/local/ssl/include
 [root@localhost ssl]# ll
 total 48
 drwxr-xr-x 2 root root  4096 Jan  6 15:55 certs
 -rw-r--r-- 1 root root   414 Jan  6 15:55 ct_log_list.cnf
 -rw-r--r-- 1 root root   414 Jan  6 15:55 ct_log_list.cnf.dist
  lrwxrwxrwx 1 root root    13 Jan  6 16:18 include -> /usr/include/
  drwxr-xr-x 2 root root  4096 Jan  6 16:11 lib
  drwxr-xr-x 2 root root  4096 Jan  6 15:55 misc
  -rw-r--r-- 1 root root 10911 Jan  6 15:55 openssl.cnf
  -rw-r--r-- 1 root root 10911 Jan  6 15:55 openssl.cnf.dist
  drwxr-xr-x 2 root root  4096 Jan  6 15:55 private
  重新编译就可以了,编译完成后替换原有的NGINX执行文件就结束了

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值