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错误,而如果已成功导入证书在访问的时候就可以直接进入(可能会提示你选择证书)。

我要评论!

想一个你喜欢的昵称。
给一个你的常用邮箱。
想和萌萌哒的TA们说点啥。
  • 1、常用的QQ尽可能不要在公共计算机上使用,如网吧,KTV等,可以用手机QQ呗; 2、尽可能地将你的密码复杂化,如今网上的普通加密都能够通过碰撞解密,但是都有一定限度的,强烈建议使用“大小写字母+特殊字符+数字”混合模式,且不要与其它账号共用一套密码; 3、尽可能限制你的QQ登录范围,在QQ安全中心...
  • 自从美洲狮开始,Apple引进了一个叫Gatekeeper的技术,用来保护系统免收外来Apps对系统安全的破坏,这也是Apple所作出的技术上对付曾经爆发的被闪回感染的事件,详见苹果的官方文档。 这个设置在System Preferences中的Security中给普通用户一个直观而简单的设置选项:...
  • 将Android开发项目从一台机子转移到另一台机子时,运行AS后报出: Error:CreateProcess error=216, 该版本的 %1 与你运行的 Windows 版本不兼容。请查看计算机的系统信息,然后联系软件发布者。 此问题发生的原因是AndroidStudio配置中的jdk版本与...
  • 内存金手指就是内存片与主板插槽连接的,排列整齐的一排触点,一般是镀金处理的。当可能受到污染或金膜脱落产生氧化时,是用橡皮擦除污物或氧化物。 具体做法: 关闭电源,打开机箱,按住内存槽锁扣,取出内存条。 用软橡皮(文具店卖的,一般学生擦铅笔痕迹的,白色的),轻轻的在金手指上擦,使用的力量和擦笔迹等同,...
  • 说实话这方面网上一搜一堆,但是真正能让用户明白的却少之又少。好了,我们开始。 认识下location: 语法规则: location [=|~|~*|^~] /uri/ { … } = 开头表示精确匹配 ^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即可。nginx不对url做编码...
微信扫一扫即可带走我!