centos7配置国密版SSL

说明:因linux版的nginx默认编译是不带有SSL协议的,需要编译的时候增加该模块,又因为国际版的OpenSSL不支持国密,但是现在又要求需要配置多张国密证书。试过很多网上的各种解决办法都是让安装国密GMSSL,但是因为centos7已经安装有国际的OpenSSL,所以再安装多一个GMSLL的时候中途老出错,最后干脆直接不安装GMSSL,直接编译nginx的时候就选择GMSSL的源码进行编译。

1、到官网下载GMssl

参考:GitHub - guanzhi/GmSSL: 支持国密SM2/SM3/SM4/SM9/SSL的密码工具箱
下载安装包GmSSL-master.zip

解压:unzip  GmSSL-master.zip

2、到官网下载nginx

参考:nginx news
下载安装包

nginx-1.22.0.tar.gz

进入解压包进行相关编译安装
cd /usr/local/nginx-1.22.0/
#--with-openssl=  这个是解压后的GMSSL源码地址
./configure --prefix=/usr/local/nginx \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-pcre \
--with-stream \
--with-stream_ssl_module \
--with-stream_realip_module \
--with-openssl=/usr/local/GmSSL-master


make
make install

3、配置nginx证书

server{
        listen 443 ssl;
        ssl_certificate   /usr/local/nginx/xt.pem;
	    ssl_certificate_key  /usr/local/nginx/xt.key;

        ssl_session_cache    shared:SSL:1m;  #开启缓存 大小1M
        ssl_session_timeout  5m;     # 指定客户端可以重用会话参数的时间(超时之后不可使用)
        
        #ssl_verify_client on;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECC-SM4-SM3:ECDHE-SM4-SM3:SM2-WITH-SMS4-SM3:ECDHE-SM2-WITH-SMS4-GCM-SM3:HIGH:!aNULL:!MD5:!RC4:!DHE;
        ssl_prefer_server_ciphers on;
        location / {
                proxy_pass   http://172.16.100.1;
                proxy_redirect default;       
       }
}


4、启动nginx

cd /usr/local/nginx/bin

./nginx

其他nginx操作
查询nginx安装目录
where is nginx
进入安装目录
cd /usr/local/nginx/sbin

启动nginx
./nginx 
重启nginx
./nginx -s reload 

 关闭
./nginx -s stop

5、访问网站

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值