论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
大数据
›
数据仓库与分析
›
搭建支持国密GmSSL的Nginx环境
搭建支持国密GmSSL的Nginx环境
羊蹓狼
金牌会员
|
2024-12-8 03:58:14
|
显示全部楼层
|
阅读模式
楼主
主题
828
|
帖子
828
|
积分
2484
准备
1、服务器准备:本文搭建使用的服务器是CentOS 7.6
2、安装包准备:需要GmSSL、国密Nginx,可通过互联网下载大概从 https://download.csdn.net/download/m0_46665077/89936158 下载国密GmSSL安装包和国密Nginx安装包。
服务器安装依靠包
服务器、安装包准备好了之后,先执行如下命令安装依靠包
yum install -y lrzsz tree screen psmisc lsof tcpdump wget ntpdate gcc gcc-c++ glibc glibc-devel pcre pcre-devel openssl openssl-devel systemd-devel net-tools iotop bc zip unzip zlib-devel bash-completion nfs-utils automake libxml2 libxml2-devel libxslt libxslt-devel perl perl-ExtUtils-Embed
复制代码
安装GmSSL
1.将安装包 GmSSL-master.zip 上传到目标机器 /root 目录下,并解压、编译安装,逐次执行如下命令
unzip /root/GmSSL-master.zip
cd GmSSL-master/
./config --prefix=/usr/local/gmssl
make -j4 && sudo make install
复制代码
2.调整软连接,主要调整 libssl.so.1.1 和 libcrypto.so.1.1 库文件链接 和 gmssl 快捷链接,不调整的执行gmssl version
会报错
ln -s /usr/local/gmssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/gmssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
ln -sv /usr/local/gmssl/bin/gmssl /usr/sbin/
复制代码
3.查看gmssl版本,确保gmssl安装成功
gmssl version
复制代码
GmSSL安装成功参考如下截图
安装Nginx(支持国密的版本)
1.将Nginx安装包 nginx-1.21.6.zip 上传到目标机器 /root 目录下,并解压到 /usr/local/ 目录,进入nginx目录
unzip -d /usr/local/ nginx-1.21.6.zip
cd /usr/local/nginx-1.21.6/
复制代码
2.编译安装nginx
./configure --prefix=/home/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
make -j4 &&sudo make install
复制代码
3.创建nginx的软链接,并验证nginx版本
ln -sv /home/nginx/sbin/nginx /usr/sbin
nginx -V
复制代码
Nginx安装成功参考如下截图
至此,GmSSL、国密Nginx安装完成
GmSSL安装路径:/usr/local/gmssl
Nginx安装路径、配置文件路径:/home/nginx
Nginx配置
nginx开机启动
1.配置 nginx 开机自启,创建 /etc/systemd/system/nginx.service 的服务文件
sudo vim /etc/systemd/system/nginx.service
#添加如下内容:
[Unit]
Description=Nginx HTTP Server
After=network.target
[Service]
Type=forking
ExecStart=/home/nginx/sbin/nginx -c /home/nginx/conf/nginx.conf
ExecReload=/home/nginx/sbin/nginx -s reload
ExecStop=/home/nginx/sbin/nginx -s stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
复制代码
2.保存文件,重新加载体系服务配置文件,并设置开机启动Nginx服务
systemctl daemon-reload
systemctl start nginx
systemctl enable nginx
复制代码
约定证书命名和存放路径
约定证书命名和存放路径如下:
国密证书存放:/usr/local/gmssl/ssl/gm/
署名证书命名:域名_sign.crt、域名_sign.key
加密证书命名:域名_enc.crt、域名_enc.key
国际RSA证书存放:/usr/local/gmssl/ssl/rsa/
RSA证书命名:域名_rsa.crt、域名_rsa.key
上传署名证书、加密证书、RSA证书到指定目录
mkdir /usr/local/gmssl/ssl/gm
mkdir /usr/local/gmssl/ssl/rsa
签发证书
可访问 https://www.gmcrt.cn/gmcrt/index.jsp 签发免费的国密测试证书,进行测试
创建nginx配置文件
1.创建 conf.d 文件(不创建的话,需要直接修改 nginx.conf 文件),让 nginx.conf 主配置文件支持读取以 conf 结尾的子配置文件
mkdir /home/nginx/conf/conf.d
复制代码
2.创建nginx配置文件
vi /home/nginx/conf/conf.d/test.conf
#test.conf添加的配置如下
server{
listen 443 ssl;
server_name test.com;
#国际RSA证书配置,若不需要可单独删除此部分
ssl_certificate /usr/local/gmssl/ssl/rsa/test_rsa.crt;
ssl_certificate_key /usr/local/gmssl/ssl/rsa/test_rsa.key;
#国密证书配置,先配置签名证书,再配置加密证书
ssl_certificate /usr/local/gmssl/ssl/gm/test_sign.crt;
ssl_certificate_key /usr/local/gmssl/ssl/gm/test_sign.key;
ssl_certificate /usr/local/gmssl/ssl/gm/test_enc.crt;
ssl_certificate_key /usr/local/gmssl/ssl/gm/test_enc.key;
ssl_session_cache shared:SSL:1m; #开启缓存 大小1M
ssl_session_timeout 5m; # 指定客户端可以重用会话参数的时间(超时之后不可使用)
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;
ssl_verify_client off;
location / {
root html;
index index.html index.htm;
}
}
复制代码
启动nginx
ginx -c /home/nginx/conf/nginx.conf
nginx -s reload #重新加载nginx配置
复制代码
访问测试
启动Nginx后进行访问测试
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
羊蹓狼
金牌会员
这个人很懒什么都没写!
楼主热帖
让你成为网络世界中有破坏力的人-HTTP ...
dolphinscheduler单机化改造
一文带你走进【内存泄漏】
一文搞懂static
day01-Tomcat框架分析
读高性能MySQL(第4版)笔记04_操作系 ...
保举开源项目:LuCI App AdGuardHome - ...
邮件管理数据库设计--MySQL
【C#】【System.Linq】一些便捷的数据 ...
MySQL 8.0.29 instant DDL 数据腐化问 ...
标签云
挺好的
服务器
快速回复
返回顶部
返回列表