Nginx配置证书实现客户端与服务器双向认证

正常配置下的SSL是服务器认证,但是有时候为了加强校验,将会引入双向认证(多用于内部服务)。

首先配置 nginx ssl,在 nginx 配置文件中加入:

ssl on;
ssl_certificate /usr/local/ssl/xxx.crt;
ssl_certificate_key /usr/local/ssl/xxx.key;

导入ssl

之后可以将自己签署的 ca 根证书加入电脑的信任列表(此举为了让浏览器通过SSL核验):

1、首先下载 ca.crt 到本地,在 windows 上直接双击打开;

2、点击安装按钮,过程中证书安装选择添加到受信任的根证书颁发机构,确认完成后即可。

重启浏览器后访问,一般是通过了,不会提示证书有误的警告了。火狐浏览器不与IE共享证书库,可能需要另导入一份,具体的参考本站文章。

在上一步成功后,在 nginx 配置文件中加入:

ssl_client_certificate /usr/local/ssl/ca.crt;
ssl_verify_client on;

其中 ssl_client_certificate 配置 ca 的 crt 地址。

生成并安装p12证书(简称个人客户端证书):

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

这一步是利用网站已有的 crt 和 key 来生成,可能需要输入密码完成。

将生成的证书下载到本地,在 windows 上双击安装,过程参考上方,不同的是安装p12将证书需要安装到个人(路径选择),重启浏览器检查是否成功。

附:

如果没有导入证书,则会直接提示400错误,而如果已成功导入证书在访问的时候就可以直接进入(可能会提示你选择证书)。

相关推荐:
遇到此问题不要着急,首先肯定的是desktop.ini在搞鬼,要么是被攥改了,要么是丢失了该文件,解决方案也就是围绕着这些个点来。 普及一下,desktop.ini是系统可识别的一个文件,作用是存储用户对文件夹的个 …
是这样的,在WIN10之前,我们使用微软的同步云时是没有一个选项叫“允许ONEDRIVE获取此电脑上的任何文件”,这个功能是WIN10中默认勾上,即有好的一面,但是不经意间也会给你带来一定的安全隐患。 这个功能是 …
ORM,一键还原系统是一款全程傻瓜式操作的系统备份还原工具,其备份速度比GHOST还快,压缩率更出色,在相同的压缩率下,它的备份速度是GHOST的五倍。体积小巧功能强悍!支持所有主流Windows系统以及包括EFI …
背景信息: 近期,Linux内核曝出远程执行漏洞,并命名为“Phoenix Talon”,其中一个漏洞为严重(Critical)级别,另外三个为高危(High)。 漏洞描述: 漏洞可导致远程DOS,在符合一定利用条件下可导致远程代码 …
在Windows使用的过程中可能因为某些情况,产生了一些类似“aa ”、“bb .”之类的,我们在删除时是无法正常删除的,那么该怎么办? 示例: 在C盘下有文件夹“test .”,用普通方法是不行的。我们将利用CMD下的DOS …
拿起手机扫一扫即可带走我!