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们说点啥。
  • 为现代 macOS 而生。 从架构到界面,IINA 只为现代 macOS 设计。它采用了 Yosemite 后的新设计语言,力求与系统 App 风格统一,并紧跟 Force Touch 和 Touch Bar 等最新技术的脚步。 更多亮点 友好的用户界面。IINA 简化了其他视频播放器的复杂交互。在...
  • 时间的校准在某些应用或程序需要依赖本地时间的时候是很重要的,一旦发现时间与其它终端的时间不同,可能导致很严重的问题,且问题很难发现。 如何校准时间其实很简单的,如下: CentOS: yum install -y ntpdate Debian: apt-get install -y ntpdate ...
  • 在事件查看器中,可以看到: 应用程序-特定 权限设置未将 COM 服务器应用程序(CLSID 为 {0C0A3666-30C9-11D0-8F20-00805F2CD064} )的本地激活权限授予用户 NT AUTHORITY\NETWORK SERVICE SID (S-1-5-20)。可以使用组...
  • 默认的头像是灰底白纹的简单头像,而对于很多人而言可能使用了微软的账户进行登录,登录后头像就会被同步成微软账户上的头像,又或者是自行改了头像。 对于此类的情况,很多人会想着恢复到默认的头像,怎么处理呢? 打开这台电脑或调出运行对话框,输入“C:\ProgramData\Microsoft\User A...
  • 背景信息: 2019年4月18日,Confluence 官方发布安全更新,指出 Confluence Server 与 Confluence Data Center 在downloadallattachments 资源中存在目录穿越漏洞(CVE-2019-3398),远程攻击者可以利用此漏洞将Web...
微信扫一扫即可带走我!