目标

使用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证书双向认证相关推荐

  1. linux location root访问文件夹404_如何使网站支持https访问?nginx配置https证书

    购买SSL证书 要想使用https访问你的网址,首先得拥有颁发的SSL证书.我使用的是免费版,有效期为一年,过期后再重新申请. 申请SSL证书 购买后,可在搜索框输入证书关键字进入到控制台. 点击证书 ...

  2. Nginx 配置 HTTPS 证书

    HTTP和HTTPS的区别 HTTP是超文本传输协议,信息是明文传输, HTTPS则具安全性的SSL/TLS加密传输协议. HTTP和HTTPS使用完全不同的连接方法和不同的端口.前者是80,后者是4 ...

  3. iOS https证书双向认证的实现机制

    文章目录 原理 单向认证流程 双向认证流程 证书生成 生成自签名根证书 生成自签名服务器端证书 生成自签名客户端证书 AFNetworking对于证书的校验机制 原理 双向认证,顾名思义,客户端和服务 ...

  4. nginx配置https证书、https数字证书申请

    越来越多的第三方接入需要使用https了,很多时候不止到证书到那里免费申请,申请后怎么配置. 免费证书和收费证书主要的差别有几点 免费证书 收费证书 支持绑定域名数少 支持绑定域名数多 无保险费用 有 ...

  5. Nginx配置 https 证书

    1.阿里云创建免费SSL证书 2.证书申请 3.填写相关信息执行下一步 4.云服务器ECS安全组开放443端口 安全 5.下载证书(这里选择的是Nginx) 6.证书上传服务器 1.把证书存放在指定目 ...

  6. Nginx 配置https证书

    配置pem证书 1.从证书出售商获取证书文件,并复制到nginx的conf目录下 2.打开nginx.conf配置文件,写入以下代码 server {listen 443 ssl;server_nam ...

  7. Nginx 配置https证书认证

    一.什么是SSL证书 SL证书全程:SSL安全通道(Secure socket layer(SSL).该安全协议主要用来提供对用户和服务器的认证:对传送的数据进行加密和隐藏:确保数据在传送中不被改变, ...

  8. nginx 配置HTTPS证书-阿里云服务器

    一.申请免费SSL证书: 1.登录阿里云: 2.进入管理控制台--云盾控制台--证书服务: 二.免费购买Symantec证书: 1.接上一步,找到证书服务之后,点击进入证书服务页面,然后"购 ...

  9. nginx配置https证书

    配置内容 server {listen 443;server_name www.xxx.com;ssl on;ssl_certificate /root/data/ssl/1_www.xxx.com_ ...

最新文章

  1. java 命令 乱码_解决java 命令行乱码的问题
  2. Python教程:文件路径/目录获取教程
  3. java map 查找_Map 查找表操作
  4. java控制器接收请求参数_SpringMVC之接收请求参数和页面传参
  5. Linux网络编程 之 套接字(四)
  6. 个人专著推荐1:Red Hat Linux 9实务自学手册(含光盘)
  7. md发布test-1 md发布test-1md发布test-1md发布test-1md发布test-1md发布test-1md发布test-1md发布test-1md发布test-1md发布test-
  8. linux下安装配置apache+php,linux下安装apache与php;Apache+PHP+MySQL配置攻略
  9. 当心币圈高仿号!也别指望AI,它有心无力
  10. 电商智能写作:京东AI闪电智能写作引擎
  11. 小米球(Ngrok)实现内网穿透,让外网可以进行访问本地部署的 API
  12. 使用SPSS对数据异常值进行探索分析
  13. hbase基本操作命令及练习
  14. 没火多久就停业,故宫火锅店咋了?
  15. java 生成word 分页_Java 插入分页符和分节符到Word文档
  16. 计算机第二课堂教学计划,第二课堂教学计划
  17. linux下查找配置文件
  18. Centos7 修改文件夹权限和用户名用户组
  19. nginx服务器代理设置
  20. 2018年央企营收利润均创历史最佳 今年国企改革有五重点

热门文章

  1. java中的token机制,基于JWT的Token认证机制java实现(二)
  2. upupw phpmyadmin写shell
  3. 计算机入门带进阶的目标及誓言
  4. 【Qt入门第17篇】 2D绘图(七)涂鸦板
  5. 【GPS新卫星】新卫星G04和G18问题
  6. 阿里云ACA 使用时间序列分解模型预测商品销量(一)
  7. 纪中2016.8.12比赛不明总结
  8. SAP学习日志--在配置上踩坑--强制帐户设置
  9. 家校互通平台“我的班”完成Pre-A 轮融资,弘帆资本投资...
  10. 基于java超市会员管理系统