nginx 根证书 服务器证书,Nginx双向证书校验(服务器验证客户端证书)

1、创建Root CA私钥

openssl genrsa -out root-ca.key 1024

2、创建Root CA证书请求

openssl req -new -out root-ca.csr -key root-ca.key

3、签发Root CA根证书

openssl x509 -req -in root-ca.csr -out root-ca.crt -signkey root-ca.key -CAcreateserial -days 3650

5、生成服务器私钥

openssl genrsa -out server.key 2048

6、生成服务器证书签名请求

openssl req -new -out server.csr -key server.key

Common Name注意使用服务器的域名

7、使用Root CA签发服务器证书(Root CA证书、Root CA私钥、服务器CSR)

openssl x509 -req -in server.csr -out server.crt -CA root-ca.crt -CAkey root-ca.key -CAcreateserial -days 3650

8、生成客户端私钥

openssl genrsa -out client.key 2048

9、生成客户端证书签名请求

openssl req -new -out client.csr -key client.key

10、签发客户端证书(Root CA证书、Root CA私钥、服务器CSRc)

openssl x509 -req -in client.csr -out client.crt -CA root-ca.crt -CAkey root-ca.key -CAcreateserial -days 3650

11、客户端证书转为p12格式(p12格式才能导入浏览器)

openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.p12

全过程:

538320ae433dfa3c603789d6aff0268b.png

Nginx验证客户端证书(使用OpenSSL生成自签名证书)

然后配置Nginx:

server

{

listen 11111;

server_name *.*.com;

ssl on;

ssl_certificate /root/ssl-cert/server.crt;

ssl_certificate_key /root/ssl-cert/server.key;

ssl_verify_client on;

ssl_client_certificate /root/ssl-cert/root-ca.crt;

location / {

client_max_body_size 10M;

proxy_set_header X-Forwarded-Host $host;

proxy_set_header X-Forwarded-Server $host;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header X-Real-IP $remote_addr;

proxy_ssl_verify off;

proxy_pass http://172.*.*.*:8080/;

proxy_redirect default;

}

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

server

{

listen11111;

server_name  *.*.com;

sslon;

ssl_certificate/root/ssl-cert/server.crt;

ssl_certificate_key/root/ssl-cert/server.key;

ssl_verify_clienton;

ssl_client_certificate/root/ssl-cert/root-ca.crt;

location/{

client_max_body_size10M;

proxy_set_headerX-Forwarded-Host$host;

proxy_set_headerX-Forwarded-Server$host;

proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;

proxy_set_headerX-Real-IP$remote_addr;

proxy_ssl_verifyoff;

proxy_passhttp://172.*.*.*:8080/;

proxy_redirectdefault;

}

}

此时若不设置客户端证书访问会报错“No required SSL certificate was sent”,我们可以先使用curl进行验证(–insecure标识忽略服务器端证书校验,否则自签名证书会报错):

dc3698e2ddbe16c23f9679a3aca09494.png

curl使用客户端证书

如果是通过Chrome访问则是:

a2156619139766cdfe8cf07d7e69d58b.png

No required SSL certificate was sent

此时我们在Chrome中导入客户端证书,设置-高级-管理证书:

710e2d1233ea47793d86e18a66ae30d8.png

Chrome导入客户端证书0

然后将其导入“个人”:

179340b37332f22177f3ff2673778b94.png

Chrome导入客户端证书1

并在“高级”中勾选“客户端身份验证”的用途:

df004099a68733f529d958a16851555a.png

Chrome导入客户端证书2

然后重启Chrome,再次访问时将被提示选择证书:

90c6685abaeb6e725a58e5c47279b1bd.png

Chrome选择客户端证书

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/431194.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

移动app测试的多样性_做移动APP功能测试,这些因素你得都考虑到~

对于刚入行的测试新手来说,无论是做手动测试还是自动化测试,前期都避免不了学习前人经验,从而尽可能减少自己的漏测问题。作为一个过来人,今天,我就将自己的移动APP功能测试分享给大家,希望对新手有一定帮助…

pytorch dropout_PyTorch初探MNIST数据集

前言:本文主要描述了如何使用现在热度和关注度比较高的Pytorch(深度学习框架)构建一个简单的卷积神经网络,并对MNIST数据集进行了训练和测试。MNIST数据集是一个28*28的手写数字图片集合,使用测试集来验证训练出的模型对手写数字的识别准确率…

saphana服务器硬件评估,华为SAP HANA一体机:你身边的数据计算专家

​ 华为服务器高级营销经理 谭鑫/文​在当今数字经济时代,如何将数据快速变现为价值资产是很多企业追求的目标。借助SAPHANA平台方案与技术,可以将数据处理化繁为简,及时汲取价值信息,为企业的业务决策提供数据参考,从…

verilog设置24进制计数器_阅读笔记:《Verilog HDL入门》第3章 Verilog语言要素

3.1标识符1.Verilog中的Identifier是由任意字母、数字、下划线和$符号组成的,第一个字符必须是字母或者下划线。区分大小写。2.Escaped Identifier是为了解决简单标识符不能以数字和$符号开头的缺点。如下所示:3.关键字。我的理解是保留字包括关键字&…

锋利的jQuery--jQuery与DOM对象的互相转换,DOM的三种操作(读书笔记一)

1.jQuery对象就是通过jQuery包装DOM对象后产生的对象。2.jQuery对象和DOM对象的相互转换。良好的书写风格&#xff1a;var $input$("input")jQuery获取的对象在变量前面加上$。<1>jQUery对象转成DOM对象,两种方法&#xff1a;[index]和get(index)a:var $cr$(&q…

网站显示不正常服务器怎么弄,你真的知道网站出现收录不正常的原因是什么吗...

当一个新网站构建起来时&#xff0c;每天所担心的就是一个收录量。当你偶然看到收录减少时&#xff0c;不免心有所寒。不知道怎么“得罪”蜘蛛大哥了&#xff0c;发生了什么事把收录量给“没收”了。作为SEOer&#xff0c;我们知道在搜索引擎蜘蛛的心里内容的质量占有很大比重&…

ajax status php,解决laravel 出现ajax请求419(unknown status)的问题

如下所示&#xff1a;这个是因为laravel自带csrf验证的问题解决方法方法一&#xff1a;去关掉laravel的csrf验证&#xff0c;但这个人不建议&#xff0c;方法也不写出来了。方法二&#xff1a;把该接口写到api.php上就好了方法三&#xff1a;首先在页面加上然后请求的在header里…

string 转比较运算符_运算符

1、概述算术运算符 - * /基本运算算术运算符%取模&#xff0c;取余数&#xff0c;计算整除算术运算符 --自增 自减比较运算符 !相等比较 不等比较逻辑运算符&& &逻辑与 短路与&#xff08;同真为真&#xff09;逻辑运算符|| |逻辑或 短路或&#xff08;一真则真&am…

神舟战神换cpu教程_神舟将十代i5称为“神U出世”?聊聊到底有哪些优势

在各个品牌大力的宣传之下&#xff0c;消费者对于笔记本电脑乃至各种数码硬件的要求都越来越高。既要好的处理器、显卡等性能配置&#xff0c;又要好的屏幕&#xff0c;甚至还得低定价&#xff0c;这就产生一种鱼与熊掌不可兼得的感觉了。就在今年的表白日&#xff0c;神舟电脑…

服务器系统杀毒系统崩溃怎么恢复,系统崩溃是什么原因导致的

大家在使用电脑的时候&#xff0c;经常都是需要安装一些软件和其他东西的。但是在安装软件的时候&#xff0c;很容易让一些病毒侵入电脑。一旦病毒侵入了电脑&#xff0c;就很容易让电脑系统崩溃。那么系统崩溃是什么原因导致的呢&#xff1f;下面就来告诉大家系统崩溃的原因及…

atom配置python环境_python与excel有段情之二:python的安装和环境配置

索引python与excel有段情之一&#xff1a;前述python与excel有段情之二&#xff1a;python的安装和环境配置python与excel有段情之三&#xff1a;python编程前的准备工作和基本概念python与excel有段情之四&#xff1a;案例1.把多excel表抽数生成新excel表python与excel有段情之…

x86服务器当虚拟化的存储,龙存科技-软件定义数据中心产品提供商

一、应用背景服务器虚拟化技术是云计算的核心技术&#xff0c;是将系统进行虚拟化应用于服务器之上的技术。面向应用集中化处理&#xff0c;能最大的程度上利用硬件资源&#xff0c;并且实现灵活分配。虚拟化技术是将计算机底层的硬件功能的模拟&#xff0c;需要复杂的语句和机…

使用python开发网页游戏_不敢想!不敢想!我用Python自动玩转2048游戏

近来在折腾selenium自动化, 感觉配合爬虫很有意思, 大多数以前难以模拟登录的网站都可以爬了&#xff0c;折腾了这么久,于是想自动玩个2048游戏&#xff01;嘿嘿, 我是一个不擅长玩游戏的人, 以前玩2048就经常得了很低的分&#xff0c;每每想起都”痛心疾首”, 所以我打算拿204…

【飞谷六期】爬虫项目4

经过了几天的摸索&#xff0c;照猫画虎的把爬虫的部分做完了。 但是很多原理性的东西都不是很理解&#xff0c;就是照着抄的&#xff0c;还需要继续学习。 看这个目录结构&#xff0c;只看.py的文件&#xff0c;.pyc的文件是运行的时候生成的不管它。 items.py:定义想要导出的数…

activex控件 新对象 ocx 初始化_Office已经支持64位的树控件Treeview了

之前在使用Office365时发现微软其实已经悄悄地开始提供了64位的Treeview树控件&#xff0c;只是并没有公开宣布。当时是在一个网友的电脑上说他可以在64位Excel中可直接使用64位树控件&#xff0c;当时以为他看到的只是一个假的树控件&#xff0c;后来经过远程他的电脑&#xf…

mysql 获取昨天凌晨_MySQL慢日志体系建设

慢查询日志是MySQL提供的一种日志记录&#xff0c;用来记录在MySQL中响应时间超过阈值的SQL语句&#xff0c;在很大程度上会影响数据库整体的性能&#xff0c;是MySQL优化的一个重要方向。在58的云DB平台建设中&#xff0c;慢SQL系统作为一个非常重要功能模块&#xff0c;不仅是…

十进制小数化为二进制小数的方法是什么_十进制转成二进制的两种方式

第一种&#xff1a;用2整除的方式。用2整除十进制整数&#xff0c;得到一个商和余数&#xff1b;再用2去除商&#xff0c;又会得到一个商和余数&#xff0c;如此重复&#xff0c;直到商为小于1时为止&#xff0c;然后把先得到余数作为二进制数的低位有效位&#xff0c;后得到的…

notes邮件正文显示不全_python实现一次性批量发邮件

在上次实现了批量修改文件名后&#xff08;链接&#xff1a;https://zhuanlan.zhihu.com/p/133727520&#xff09;&#xff0c;又拿来了同事编写的一次性批量发邮件小程序&#xff0c;小编每月向分公司发数据任务算是基本上实现了自动化 需要新建2个.py文件实现&#xff0c;一个…

用python画五角星中心颜色不同_画个五角星让它绕中心点旋转

李兴球Python画个五角星绕中心点旋转 画一个五角星让它旋转起来,这在Python中有几个方案可选,这里提供一个不是用自定义形状的方案,以下是部分源代码, 其实关键的代码函数&#xff0c;也就是starpoints这个函数&#xff0c;它是核心。代码已经给你了。接下来就看你的聪明才智了…

oracle 建表id自增长_oracle 左连接、右连接、全外连接、内连接、以及 (+) 号用法...

Oracle中的连接可分为&#xff0c;内连接(INNER JOIN)、外连接(OUTER JOIN)、全连接(FULL JOIN)&#xff0c;不光是 Oracle&#xff0c;其他很多的数据库也都有这3种连接查询方式。Oracle 外连接(OUTER JOIN)&#xff0c;又分为左外连接和右外连接&#xff0c;即左连接和右连接…