升级OpenSSL

为了避免在安装过程中出现依赖关系问题和提高系统的安全性,需要将OpenSSL升级至1.1.1a或者以上版本。

查看OpenSSL版本。

1
openssl version
下文以在CentOS 7.6下升级OpenSSL到1.1.1a版本为例进行说明。

升级OpenSSL(通过源码编译安装Nginx)

  1. 获取OpenSSL源码。

    1. 在本地浏览器下载OpenSSL源码包。

      OpenSSL源码地址:https://codeload.github.com/openssl/openssl/tar.gz/OpenSSL_1_1_1a

    2. 将源码包上传到服务器“/home”目录下。

      若服务器可以访问网络,则可以直接在服务器上使用wget命令下载源码。

      1. 进入“/home”目录,下载源码包。
        1
        2
        cd /home
        wget https://codeload.github.com/openssl/openssl/tar.gz/OpenSSL_1_1_1a --no-check-certificate
        
      2. 将下载的源码包重命名。
        用本地浏览器和wget命令下载的OpenSSL源码包名称不一样,本文使用的是本地浏览器下载源码包导入服务器的方法,故用wget命令下载源码包后需要重命名。
        1
        mv OpenSSL_1_1_1a openssl-OpenSSL_1_1_1a.tar.gz
        

  2. 解压OpenSSL源码包。

    1
    tar -xvf openssl-OpenSSL_1_1_1a.tar.gz
    

  3. 进入“openssl-OpenSSL_1_1_1a”目录,并查看该目录下的文件。

    1
    2
    cd openssl-OpenSSL_1_1_1a/
    ls
    

  4. 配置OpenSSL。

    1
    ./config
    

  5. 编译安装。

    1
    make -j60 && make -j60 install
    

    “-j 60”参数充分利用多核CPU优势,加快编译速度,参数“-j”后数字为CPU核数,CPU的核数可以通过lscpu查看。

  6. 配置ld.so.conf文件。

    1
    2
    echo "/usr/local/lib/" >> /etc/ld.so.conf
    ldconfig -v
    

  7. 生效OpenSSL。

    1. 将OpenSSL添加到环境变量中。
      1
      echo export PATH=/usr/local/bin:\$PATH >> /etc/profile
      
    2. 使环境变量生效。
      1
      source /etc/profile
      

  8. 查看OpenSSL版本。

    • 方法一:
      1
      2
      hash -r
      openssl version
      
    • 方法二:
      1
      2
      3
      hash -r
      which openssl
      /usr/local/bin/openssl version
      

  9. 查看OpenSSL安装目录。

    1
    openssl version -a
    

    回显中,“OPENSSLDIR”后面的路径为OpenSSL的安装目录。

  10. 可选:如果需要卸载当前方式安装的OpenSSL,则使用以下任一方法中的命令即可。

    • 方法一:
      1
      2
      3
      4
      5
      cd /home/openssl-OpenSSL_1_1_1a
      make uninstall
      hash -r
      openssl version
      openssl version -a
      
    • 方法二:
      1
      2
      3
      4
      5
      6
      7
      openssl version -a
      rm -rf /usr/local/ssl
      rm -rf /usr/local/lib/engines-1.1
      rm -rf /usr/local/bin/openssl
      hash -r
      openssl version
      openssl version -a
      

升级OpenSSL(通过镜像站RPM包安装Nginx)

  1. 获取OpenSSL的RPM包。

    1. 在本地浏览器下载RPM包。

      下载地址:

      https://mirrors.huaweicloud.com/kunpeng/yum/el/7/aarch64/Packages/web/openssl-libs-1.1.1a-3.el7.aarch64.rpm

      https://mirrors.huaweicloud.com/kunpeng/yum/el/7/aarch64/Packages/web/openssl-1.1.1a-3.el7.aarch64.rpm

      https://mirrors.huaweicloud.com/kunpeng/yum/el/7/aarch64/Packages/web/openssl-devel-1.1.1a-3.el7.aarch64.rpm

    2. 将下载的RPM包复制至服务器“/home”目录。

      若服务器可以访问网络,则可以直接在服务器上使用wget命令下载RPM包。

      1
      2
      3
      4
      cd /home
      wget https://mirrors.huaweicloud.com/kunpeng/yum/el/7/aarch64/Packages/web/openssl-libs-1.1.1a-3.el7.aarch64.rpm --no-check-certificate
      wget https://mirrors.huaweicloud.com/kunpeng/yum/el/7/aarch64/Packages/web/openssl-1.1.1a-3.el7.aarch64.rpm --no-check-certificate
      wget https://mirrors.huaweicloud.com/kunpeng/yum/el/7/aarch64/Packages/web/openssl-devel-1.1.1a-3.el7.aarch64.rpm --no-check-certificate
      

  2. 安装OpenSSL。

    1
    rpm -ivh openssl-libs-1.1.1a-3.el7.aarch64.rpm openssl-1.1.1a-3.el7.aarch64.rpm  openssl-devel-1.1.1a-3.el7.aarch64.rpm --force --nodeps
    

  3. 配置ld.so.conf文件。

    1
    2
    echo "/usr/local/lib/" >> /etc/ld.so.conf
    ldconfig -v
    

  4. 使OpenSSL生效。

    1
    2
    echo export PATH=/usr/local/bin:\$PATH >> /etc/profile
    source /etc/profile
    

  5. 查看OpenSSL版本。

    • 方法一:
      1
      2
      hash -r
      openssl version
      
    • 方法二:
      1
      2
      3
      hash -r
      which openssl
      /usr/local/bin/openssl version
      

  6. 查看OpenSSL安装目录。

    1
    openssl version -a
    

    回显中,“OPENSSLDIR”后面的路径为OpenSSL的安装目录。

  7. 可选:如果需要卸载当前方式安装的OpenSSL,使用以下命令即可。

    1
    2
    3
    4
    5
    6
    rpm -qa | grep openssl
    rpm -e --nodeps openssl-devel-1.1.1a openssl-1.1.1a openssl-libs-1.1.1a
    rpm -qa | grep openssl
    hash -r
    openssl version
    openssl version -a