文章目录
- 文件准备
- 编译部署nginx
- 申请国密数字证书
- 配置证书并测试
文件准备
下载文件并上传到服务器,这里使用centos 7.8
本文涉及的程序文件已打包可以直接下载。 点击下载
下载国密版openssl
https://www.gmssl.cn/gmssl/index.jsp
下载稳定版nginx
http://nginx.org/en/download.html
编译部署nginx
下载解压nginx程序包,目录如下
修改源码包中
/root/apps/nginx-1.24.0/auto/lib/openssl/conf 文件内容中
$OPENSSL/.openssl 路径为 $OPENSSL
编译nginx
./configure \
--without-http_gzip_module \
--with-http_ssl_module \
--with-http_stub_status_module \
--with-http_v2_module \
--with-file-aio \
--with-openssl="/usr/local/gmssl" \
--with-cc-opt="-I/usr/local/gmssl/include" \
--with-ld-opt="-lm"
如果编译过程中出现错误,根据错误信息baidu进行解决。编译完成结果如下
执行make&& make install 进行安装,结果如下
申请国密数字证书
https://www.gmcrt.cn/gmcrt/index.jsp
提交后下载的证书文件压缩包内容如下,
如下四个上传到 服务器并在nginx中进行配置
上传服务器如下:
配置证书并测试
修改nginx配置文件,如下,证书先配置 签名证书和私钥,再配置加密证书和私钥
server {
listen 443 ssl;
server_name localhost;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_certificate /usr/local/nginx/certs/sm2.test.sig.crt.pem;
ssl_certificate_key /usr/local/nginx/certs/sm2.test.sig.key.pem;
ssl_certificate /usr/local/nginx/certs/sm2.test.enc.crt.pem;
ssl_certificate_key /usr/local/nginx/certs/sm2.test.enc.key.pem;
#ssl_verify_client off;
#ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:AES128-SHA:DES-CBC3-SHA:ECC-SM4-CBC-SM3:ECC-SM4-GCM-SM3;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:AES128-SHA:DES-CBC3-SHA:ECC-SM4-CBC-SM3:ECC-SM4-GCM-SM3;
ssl_verify_client off;
location / {
root html;
index index.html index.htm;
}
}
访问测试,chrome edge 等浏览器 都提示无法访问 如下:
下载国密浏览器,可以正常进行访问: