本文将阐述Windows环境下,如何在Nginx服务器上配置Wosign品牌的国密SM2算法和国际RSA算法的标准SSL数字证书,具体包括证书文件的下载与上传、在Nginx上配置证书文件参数,以及安装证书后的结果验证。成功配置国密标准SSL证书后,您将能够通过HTTPS安全地访问Nginx服务器。
本文以Windows 64位操作系统、Nginx 1.24.0国密版(非普通官网下载)、Wosign DV国密SSL证书为例。不同版本的操作系统和Web服务器,部署操作可能有所差异,如有问题,请联系产品技术专家进行咨询,详情请参见专家一对一服务。
背景信息
国密SSL证书是指根据中国国家密码局制定的密码算法标准所生成的SSL证书,主要用于满足企业对HTTPS协议国产化改造及国密算法应用的合规要求。如果您的Web应用服务器仅部署了国密SSL证书,则只能在支持国密算法的浏览器中访问,如密信浏览器和红莲花浏览器。因此,为了确保与各类浏览器的兼容性,通常会采取SM2/RSA双证书部署方案。
前提条件
SSL证书绑定的域名已完成DNS解析,即您的域名已正确映射到主机IP地址。您可以通过控制台常用证书工具中的DNS生效验证,检测域名DNS解析是否生效。具体操作,请参见DNS生效验证。
已在Web服务器开放443端口(HTTPS通信的标准端口)。
如果您使用的是阿里云ECS服务器,请确保已经在安全组规则入方向添加TCP 443端口。具体操作,请参见管理安全组规则。
如果您使用的是其他云服务商或本地服务器,请确保在防火墙或安全组中开启TCP 443端口。
如果待部署SSL证书的网站计划部署在中国内地,则您需要按照工信部的相关要求完成ICP备案,否则将影响网站的正常访问。更多信息,请参见什么是ICP备案。
步骤一:下载SSL证书
登录数字证书管理服务控制台。
在左侧导航栏,选择。
在SSL证书管理页面,定位到目标证书,在操作列,单击更多,然后选择下载页签。
在服务器类型为Nginx的操作列,单击下载。
解压缩已下载的SSL证书压缩包。
根据您在提交证书申请时选择的CSR生成方式,解压缩获得的文件不同,具体如下表所示。
CSR生成方式
证书压缩包包含的文件
CSR生成方式
证书压缩包包含的文件
系统生成或选择已有的CSR
RSA加密算法证书:<证书ID_证书绑定域名>.pem和<证书ID_证书绑定域名>.key
SM2加密算法证书:
签名证书:<证书绑定域名>_sm2_sign.pem和<证书绑定域名>_sm2_sign.key
加密证书:<证书绑定域名>_sm2_enc.pem和<证书绑定域名>_sm2_enc.key
手动填写
如果您填写的是通过数字证书管理服务控制台创建的CSR,下载后包含的证书文件与系统生成的一致。
如果您填写的不是通过数字证书管理服务控制台创建的CSR,下载后只包括证书文件(PEM格式),不包含证书密码或私钥文件。您可以通过证书工具,将证书文件和您持有的证书密码或私钥文件转换成所需格式。转换证书格式的具体操作,请参见证书格式转换。
步骤二:安装Nginx国密版
下载Nginx的Windows国密版安装包:
Windows64位操作系统:Nginx 1.24.0 国密版
Windows32位操作系统:Nginx 1.18.0 国密版
请根据您的操作系统位数选择合适的安装包进行下载。
解压Nginx国密版安装包:
请根据您服务器的操作系统位数,选取相匹配的Nginx国密版压缩包文件。将其解压至指定目录,例如
C:\nginx-1.24.0
。本文以
C:\nginx-1.24.0
作为Nginx的安装目录,来演示后续的安装过程。
步骤三:在Nginx服务器配置 SSL 证书
进入Nginx服务安装目录,在
C:\nginx-1.24.0\conf
目录下创建cn和cert目录,分别用于存放国密标准和国际标准SSL证书。cn、cert目录仅为示例,证书存放目录没有命名限制。
将国密证书文件上传至
C:\nginx-1.24.0\conf\cert\cn
目录 , 将国际证书文件上传至C:\nginx-1.24.0\conf\cert
目录 。您可以使用远程登录工具附带的本地文件上传功能,上传文件。例如PuTTY、Xshell或WinSCP等。如果您使用的是阿里云云服务器 ECS,上传文件具体操作,请参见使用远程桌面或Windows APP向Windows实例传输文件或上传文件到Linux云服务器。
国密证书上传文件示例:
国际证书上传文件示例:
在
C:\nginx-1.24.0\conf\nginx.conf
的http
区块内,添加include ssl.conf;
配置。如下图:配置ssl.conf文件。
在
C:\nginx-1.24.0\conf
目录下,新建ssl.conf
配置文件,添加以下配置。以下配置仅供参考,请根据实际环境配置具体的证书目录、证书名称及域名等。
server { listen 443 ssl; server_name yourdomain.com; #配置国密算法签名证书-SM2证书 ssl_certificate C:/nginx-1.24.0/conf/cert/cn/yourdomain.com_sm2_sign.pem; ssl_certificate_key C:/nginx-1.24.0/conf/cert/cn/yourdomain.com_sm2_sign.key; #配置国密算法加密证书-SM2证书 ssl_certificate C:/nginx-1.24.0/conf/cert/cn/yourdomain.com_sm2_enc.pem; ssl_certificate_key C:/nginx-1.24.0/conf/cert/cn/yourdomain.com_sm2_enc.key; #配置国际标准RSA算法证书 ssl_certificate C:/nginx-1.24.0/conf/cert/yourdomain.com.pem; ssl_certificate_key C:/nginx-1.24.0/conf/cert/yourdomain.com.key; #配置SSL会话超时时间 ssl_session_timeout 5m; ssl_protocols TlSv1.1 TLSv1.2 TLSv1.3; ssl_ciphers ECC-SM4-SM3:ECDH:AESGCM:HIGH:MEDIUM:!RC4:!DH:!MD5:!aNULL:!eNULL; ssl_prefer_server_ciphers on; location / { root html; index index.html index.htm; } }
验证配置文件是否正确:
在命令提示符窗口,进入
nginx-1.24.0
安装目录,输入nginx -t
。若配置文件无误,则提示:nginx.conf test is successful
,可以启动Nginx服务,如下图:如出现错误提示,请根据提示进行错误排查,并重新修改配置文件中存在的问题,直至显示正常。
启动Nginx服务。
如下图,进入Nginx安装目录,找到
nginx.exe
文件并双击,启动Nginx服务。
步骤四:验证SSL证书是否配置成功
证书安装完成后,您可通过访问证书绑定的域名验证该证书是否安装成功。
https://yourdomain #需要将yourdomain替换成证书绑定的域名。
国密标准SSL证书需与支持国密算法的浏览器(如360、密信、红莲花浏览器)配合使用。
国际标准SSL证书部署成功后,在谷歌浏览器上效果如下:
国密标准SSL证书部署成功后,在密信浏览器上效果如下:
相关文档
- 本页导读 (1)
- 背景信息
- 前提条件
- 步骤一:下载SSL证书
- 步骤二:安装Nginx国密版
- 步骤三:在Nginx服务器配置 SSL 证书
- 步骤四:验证SSL证书是否配置成功
- 相关文档