QQ唯一客服请加:519907267 ✈️飞机+44 7936293139 whatsapp:+44 7394140879
好消息:即日起,使用推荐链接推荐您的朋友购买我站证书送您惊喜好礼!
Nginx For Linux 国密 SSL 证书安装
2021/04/23 17:08

Nginx For Linux 国密 SSL 证书安装

操作场景

本文档指导您如何在 Nginx 服务器中安装国密标准 SSL 证书。

说明:

  • Nginx 版本以 nginx/1.18.0 为例。

  • 本文档以证书名称www.huweissl.com 为例。

  • 当前服务器的操作系统为 CentOS 7,由于操作系统的版本不同,详细操作步骤略有区别。

安装 SSL 证书前,请您在 Nginx 服务器上开启 “443” 端口,避免证书安装后无法启用 HTTPS。

  • 已准备远程文件拷贝软件,例如 WinSCP(建议从官方网站获取最新版本)。

  • 已准备远程登录工具,例如 PuTTY 或者 Xshell(建议从官方网站获取最新版本)。

  • 已购买国密标准(SM2)SSL 证书。

  • 安装 SSL 证书前需准备的数据如下:

名称

说明

服务器的 IP 地址

服务器的 IP 地址,用于 PC 连接到服务器。

用户名

登录服务器的用户名。

密码

登录服务器的密码。

操作步骤

环境配置

说明:

  • 国密标准 SSL 证书安装在 Nginx 服务器上,Nginx 服务器需具备相关环境支持模块。下文将指导您编译配置支持国密标准 SSL 证书的 Nginx 服务器。

  • 下述步骤中的目录皆是测试环境的目录,具体路径请根据您的实际环境与需求进行确定。

  1. 远程登录 Nginx 服务器。例如,使用 “PuTTY” 工具 登录。

  2. 安装编译工具:如果您的系统是全新的,请先在服务器上安装 C++ 开发环境、pcre-devel、zlib-devel 软件为编译提供环境支持。您可以使用如下命令进行安装。

  3.  

#安装 C++ 开发环境

yum install -y gcc gcc-c++ #安装 pcre-devel

yum install pcre-devel -y#安装 zlib-devel

yum install zlib-devel -y

  1.  

  2. 下载并编译安装 Nginx:您可以通过在服务器上按以下顺序输入命令,下载 Nginx 国密版和国密模块至服务器并编译安装,由于操作系统的版本不同,详细操作步骤略有区别。

    注意:

  3.  

  4.  

    •  nginx-1.18.0 为例,目录为 /usr/local,请根据您的实际环境与需求进行确定。

    • 国密模块文件名 wotrus_ssl.tar.gz 在解压与安装中请勿修改,否则可能会导致安装错误。

#切换至 /usr/local/ 目录下cd /usr/local/ #下载 nginx-1.18.0wget -c http://nginx.org/download/nginx-1.18.0.tar.gz#下载国密SM2模块wget -c https://www.wotrus.com/download/wotrus_ssl.tar.gz#解压已下载的 nginx-1.18.0 压缩包tar -zvxf nginx-1.18.0.tar.gz#解压已下载的国密SM2模块压缩包tar -zvxf wotrus_ssl.tar.gz#进入解压后的 nginx-1.18.0 文件夹cd nginx-1.18.0/#指定编译目录路径与编译模块。如需其他模块可自行增加./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-stream --with-http_ssl_module --with-stream_ssl_module --with-openssl=/usr/local/wotrus_ssl2.0#编译安装 Nginxmake && make install

  1. 如果编译执行过程中出现 make[1]: *** [/usr/local/wotrus_ssl2.0/.openssl/include/openssl/ssl.h] Error 127错误。则需要进入 nginx-1.18.0/auto/lib/openssl 目录,编辑 conf 文件。需修改如下内容:

  2.  

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"

  1. 修改为:

  2.  

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"

  1.  

  2. 保存文件后,需先执行 make clean 清除编译配置,再重新进入 nginx-1.18.0 文件夹执行 ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-stream --with-http_ssl_module --with-stream_ssl_module --with-openssl=/usr/local/wotrus_ssl2.0 make && make install

国密标准证书安装

  1. 已在 护卫SSL证书会员中心 中下载并解压缩www.huweissl.com 证书文件包到本地目录。
    解压缩后,可获得相关类型的证书文件。 其中包含 Nginx 目录和 CSR 文件:

    • 文件夹名称Nginx

    • 文件夹内容

      • 1_www.huweissl.com_sign_bundle.crt 证书文件

      • 2_www.huweissl.com_encrypt_bundle.crt 证书文件

      • 3_www.huweissl.com.key 私钥文件

    • CSR 文件内容

      • www.huweissl.com_sign.csr 文件

      • www.huweissl.com_encrypt.csr 文件

        说明:

CSR 文件是申请证书时由您上传或系统在线生成的,提供给 CA 机构。安装时可忽略该文件。

  1. 使用 “WinSCP”(即本地与远程计算机间的复制文件工具)登录 Nginx 服务器。

  2. 进入 /usr/local/nginx/conf 目录,新建 sm2 目录,将已获取到的 1_www.huweissl.com_sign_bundle.crt证书文件、2_www.huweissl.com_encrypt_bundle.crt 证书文件、3_www.huweissl.com.key 私钥文件从本地目录拷贝到该 sm2 目录下。

  3. 进入/usr/local/nginx/conf 目录,编辑 nginx.conf 文件,添加如下配置:

  4.  

server { listen 443 ssl;server_name domain.com;ssl_certificate /usr/local/nginx/conf/sm2/1_www.huweissl.com_sign_bundle.crt;ssl_certificate_key /usr/local/nginx/conf/sm2/3_www.huweissl.com.key;ssl_certificate /usr/local/nginx/conf/sm2/2_www.huweissl.com_encrypt_bundle.crt;ssl_certificate_key /usr/local/nginx/conf/sm2/3_www.huweissl.com.key;#先配置签名证书,再配置加密证书,签名加密证书私钥key为同一个!ssl_session_timeout 5m;ssl_protocols TLSv1 TlSv1.1 TLSv1.2;ssl_ciphers SM2-WITH-SMS4SM3:ECDH:AESGCM:HIGH:MEDIUM:!RC4:!DH:!MD5:!aNULL:!eNULL;ssl_prefer_server_ciphers on;location / {root html;index index.html index.htm;

}

}

  1.  

    说明:

  2.  

Copyright © 厦门湃瑞珅网络科技有限公司  版权所有  闽ICP备2021010547号-1 ghs.png 公安备案: 35020602001916号