nginx配置https证书双向认证
目标
使用openssl生成证书并配置到nginx.
步骤
1. 生成服务端证书和客户端证书
2. 配置nginx并重启
3. 本地浏览器导入客户端证书
4. 测试验证
证书制作详细过程
# 1 创建目录
mkdir -p keys/private && mkdir -p keys/certs
cd keys
# 2 生成根证书:#生成根证书私钥openssl genrsa -aes256 -out private/ca.pem 1024#输入自己的密码 59001100#生产根证书签名请求openssl req -new -key private/ca.pem -out private/ca.csr#密码 59001100#生产根证书 有效期7300天 openssl x509 -req -days 7300 -sha1 -extensions v3_ca -signkey private/ca.pem -in private/ca.csr -out certs/ca.cer# 3 生成服务器证书# 生产服务器证书私钥openssl genrsa -aes256 -out private/server-key.pem 1024# 密码 59001100 这里建议使用区别与跟证书私钥的密码# 生产服务器证书签名请求openssl req -new -key private/server-key.pem -out private/server.csr -subj "/C=CN/ST=BEIJING/L=BEIJING/O=MOGO/CN=server.mogo.com"# 密码 59001100# 生产服务器证书openssl x509 -req -days 7300 -sha1 -extensions v3_req -CA certs/ca.cer -CAkey private/ca.pem -CAcreateserial -in private/server.csr -out certs/server.cer# 4 生成客户端证书# 生产客户端证书私钥openssl genrsa -aes256 -out private/client-key.pem 1024#设定自己的密码,客户端密码 13131313# 生产客户端证书签名请求,里面的-subj信息请替换掉# 其中的内容C=CN中的CN代表中国,后面的两个BEIJING分别代表省和市,O=MOGO中的MOGO为公司简称,CN=mogo.com中后面的mogo.com请设定你的服务名,与服务证书的名称不能一样 ; 下面命令需要输入客户端私钥的密码openssl req -new -key private/client-key.pem -out private/client.csr -subj "/C=CN/ST=BEIJING/L=BEIJING/O=MOGO/CN=mogo.com"# 创建一个文件,并标记证书版本号为01,也可以自定义版本号,使用0到F之间的16进制数值touch ca.srl && echo 01 >ca.srl# 生产客户端证书 下面的命令运行时需要输入跟证书私钥的密码 59001100openssl x509 -req -days 7300 -sha1 -extensions v3_req -CA certs/ca.cer -CAkey private/ca.pem -CAserial ca.srl -in private/client.csr -out certs/client.cer# 5 导出客户端/服务器端证书仓库# 导出客户端证书仓库openssl pkcs12 -export -clcerts -name client -inkey private/client-key.pem -in certs/client.cer -out certs/client.keystore# 输入客户端私钥密码 13131313# 导出服务器端证书仓库openssl pkcs12 -export -clcerts -name client -inkey private/server-key.pem -in certs/server.cer -out certs/server.keystore# 输入服务端私钥密码 59001100# 6 服务端私钥导出无密码私钥,用于nginx配置openssl rsa -in private/server-key.pem -out private/server-key.unsecure
nginx配置过程
server {listen 443;ssl on;server_name tracing-coll-test.zhidaoauto.com;ssl_certificate keys/certs/server.cer;ssl_certificate_key keys/private/server-key.unsecure;ssl_client_certificate keys/certs/ca.cer;ssl_verify_client on;location / {root html;index index.html index.htm;}}
配置好后需要重启 killall nginx && cd sbin && sudo ./nginx
注意事项:443端口必须使用root权限才能起来。
本地导入客户端证书
以火狐为例:
在浏览器右侧找到设置》搜索“证书”〉打开“查看证书”
或者接在火狐浏览器输入:about:preferences#searchResults
或在chrome中输入chrome://settings/
导入client.keystore证书,导入时需要输入密码,客户端私钥密码13131313
浏览器测试
https://IP:443
提示不安全,需要手动选择信任,并选择导入的证书。
此时如果没有证书则返回400 No required SSL certificate was sent
nginx配置https证书双向认证相关推荐
- linux location root访问文件夹404_如何使网站支持https访问?nginx配置https证书
购买SSL证书 要想使用https访问你的网址,首先得拥有颁发的SSL证书.我使用的是免费版,有效期为一年,过期后再重新申请. 申请SSL证书 购买后,可在搜索框输入证书关键字进入到控制台. 点击证书 ...
- Nginx 配置 HTTPS 证书
HTTP和HTTPS的区别 HTTP是超文本传输协议,信息是明文传输, HTTPS则具安全性的SSL/TLS加密传输协议. HTTP和HTTPS使用完全不同的连接方法和不同的端口.前者是80,后者是4 ...
- iOS https证书双向认证的实现机制
文章目录 原理 单向认证流程 双向认证流程 证书生成 生成自签名根证书 生成自签名服务器端证书 生成自签名客户端证书 AFNetworking对于证书的校验机制 原理 双向认证,顾名思义,客户端和服务 ...
- nginx配置https证书、https数字证书申请
越来越多的第三方接入需要使用https了,很多时候不止到证书到那里免费申请,申请后怎么配置. 免费证书和收费证书主要的差别有几点 免费证书 收费证书 支持绑定域名数少 支持绑定域名数多 无保险费用 有 ...
- Nginx配置 https 证书
1.阿里云创建免费SSL证书 2.证书申请 3.填写相关信息执行下一步 4.云服务器ECS安全组开放443端口 安全 5.下载证书(这里选择的是Nginx) 6.证书上传服务器 1.把证书存放在指定目 ...
- Nginx 配置https证书
配置pem证书 1.从证书出售商获取证书文件,并复制到nginx的conf目录下 2.打开nginx.conf配置文件,写入以下代码 server {listen 443 ssl;server_nam ...
- Nginx 配置https证书认证
一.什么是SSL证书 SL证书全程:SSL安全通道(Secure socket layer(SSL).该安全协议主要用来提供对用户和服务器的认证:对传送的数据进行加密和隐藏:确保数据在传送中不被改变, ...
- nginx 配置HTTPS证书-阿里云服务器
一.申请免费SSL证书: 1.登录阿里云: 2.进入管理控制台--云盾控制台--证书服务: 二.免费购买Symantec证书: 1.接上一步,找到证书服务之后,点击进入证书服务页面,然后"购 ...
- nginx配置https证书
配置内容 server {listen 443;server_name www.xxx.com;ssl on;ssl_certificate /root/data/ssl/1_www.xxx.com_ ...
最新文章
- java 命令 乱码_解决java 命令行乱码的问题
- Python教程:文件路径/目录获取教程
- java map 查找_Map 查找表操作
- java控制器接收请求参数_SpringMVC之接收请求参数和页面传参
- Linux网络编程 之 套接字(四)
- 个人专著推荐1:Red Hat Linux 9实务自学手册(含光盘)
- md发布test-1 md发布test-1md发布test-1md发布test-1md发布test-1md发布test-1md发布test-1md发布test-1md发布test-1md发布test-
- linux下安装配置apache+php,linux下安装apache与php;Apache+PHP+MySQL配置攻略
- 当心币圈高仿号!也别指望AI,它有心无力
- 电商智能写作:京东AI闪电智能写作引擎
- 小米球(Ngrok)实现内网穿透,让外网可以进行访问本地部署的 API
- 使用SPSS对数据异常值进行探索分析
- hbase基本操作命令及练习
- 没火多久就停业,故宫火锅店咋了?
- java 生成word 分页_Java 插入分页符和分节符到Word文档
- 计算机第二课堂教学计划,第二课堂教学计划
- linux下查找配置文件
- Centos7 修改文件夹权限和用户名用户组
- nginx服务器代理设置
- 2018年央企营收利润均创历史最佳 今年国企改革有五重点
热门文章
- java中的token机制,基于JWT的Token认证机制java实现(二)
- upupw phpmyadmin写shell
- 计算机入门带进阶的目标及誓言
- 【Qt入门第17篇】 2D绘图(七)涂鸦板
- 【GPS新卫星】新卫星G04和G18问题
- 阿里云ACA 使用时间序列分解模型预测商品销量(一)
- 纪中2016.8.12比赛不明总结
- SAP学习日志--在配置上踩坑--强制帐户设置
- 家校互通平台“我的班”完成Pre-A 轮融资,弘帆资本投资...
- 基于java超市会员管理系统