openssl滴血漏洞-升级openssl版本编译nginx

如果你之前是通过 yum 安装 OpenSSL,而现在希望通过编译升级 OpenSSL,你可以按照以下步骤进行操作: 

  1. 首先,你需要卸载通过 yum 安装的 OpenSSL 版本:

    sudo yum remove openssl
  2. 下载最新的 OpenSSL 源代码包:

    wget https://www.openssl.org/source/openssl-1.1.1.tar.gz
    地址失效直接访问 https://www.openssl.org/source/ 选择需要版本下载即可
  3. 解压源代码包并进入目录:

    tar -xvf openssl-1.1.1.tar.gz
    cd openssl-1.1.1
  4. 配置 OpenSSL 编译选项:

    ./config --prefix=/root/ssl/openssl --openssldir=/root/ssl/openssl shared zlib

    这里的 --prefix 参数指定了安装路径,
    指定目录最好是 ./  当前目录,否则nginx编译安装会出现以下报错
    --openssldir 参数指定了 OpenSSL 的配置文件路径,shared 参数表示生成共享库,zlib 参数表示启用对 zlib 的支持。

  5. 编译和安装 OpenSSL:

    # 编译失败缺少 zlib-devel
    yum install zlib-devel
    make
    make install
    # 执行报错 
    ### 
    POD document had syntax errors at /usr/bin/pod2man line 69.
    make: *** [install_docs] Error 1
    解决方法 删除/usr/bin/pod2man
    ###
  6. 确认安装结果:

    /usr/local/openssl/bin/openssl version

    如果显示出新版本的 OpenSSL 信息,则表示升级成功

  7. 配置动态库链接,确保系统能够正确找到新安装的 OpenSSL 库文件。可以使用 ldconfig 命令更新动态链接库缓存:

    sudo ldconfig
  8. 最后,验证新安装的 OpenSSL 版本:

    /usr/local/openssl/bin/openssl version

如果在安装 OpenSSL 后,在根目录下无法直接执行 openssl 命令,可以尝试以下方法解决这个问题:

 将 OpenSSL 的可执行文件路径 /usr/local/openssl/bin 添加到系统的 PATH 环境变量中,这样系统就能够找到并执行 openssl 命令。

你可以编辑 ~/.bashrc 文件(或者其他 shell 对应的配置文件),在文件末尾添加如下内容:

export PATH=$PATH:/root/ssl/openssl/bin

然后执行以下命令使配置生效:

source ~/.bashrc
  1. 创建符号链接: 你也可以创建一个符号链接到 /usr/bin/usr/local/bin,这样 openssl 命令就可以在根目录下直接执行了:

    sudo ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl

    或者:

    sudo ln -s /usr/local/openssl/bin/openssl /usr/local/bin/openssl

这样做之后,尝试在根目录下直接执行 openssl 命令,应该可以正常使用了。

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值