2019独角兽企业重金招聘Python工程师标准>>>

最近在做一个项目,有个接口安全性要求比较高,所以要用到双向认证,就开始究了一下具体搭建

具体是参考这里:http://blog.csdn.net/kunoy/article/details/8239653

遇到的问题作一下笔记

主要是双向认证问题,很多分享都是基于整个域名访问都是双向认证的,但是很多时候,我们开发可能只是某个路由或某个接口下才需要双向认证

很多的分享只要加上   ssl_verify_client on;  ssl_client_certificate ca.crt; 实现的,达不到我们只是局部接口才需要双向认证的,下面就是完整解决办法  主要是 ssl_verify_client optional; 这个选项

ssl_verify_client

语法:ssl_verify_client on|off|optional 
默认值:ssl_verify_client off 
使用字段:main, server 
启用客户端证书审核,参数“optional”在客户端主动提出时检查证书(0.8.7与0.7.63版本之前为"ask")。

也在一些社区看到的提示

path based client ssl verification is messy as it requires the client/server to do a (secure) renegotiation.

You’re better off doing a separate domain or make it ssl_verify_client optional at the top level and check the compliance at application level.

最后在location 里加上

location /test {
            if ($ssl_client_verify != 'SUCCESS') {
                return 403;
                break;
            }
            
            return 200 "success";
        }

server {listen       443;server_name  xxx.xx.com;ssl                  on;ssl_certificate      server.crt;ssl_certificate_key  server.key; ssl_client_certificate ca.crt;ssl_session_timeout  30m;ssl_verify_client optional;ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers  ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;ssl_prefer_server_ciphers   on;location /test {if ($ssl_client_verify != 'SUCCESS') {return 403;break;}return 200 "success";}    location / {root   html; #站点目录index  index.html index.htm;}
}

如果还有同学有更好的方法,也可以交流一下

转载于:https://my.oschina.net/u/1789379/blog/760267

nginx SSL证书配置(双向认证)相关推荐

  1. ssl证书CA双向认证完整实现步骤(附java客户端代码)(好文章!)

    一.基础概念 注:以下概念除专业名词外,均为个人理解,不具备权威性. 1.什么是系统安全管理 置于公网的系统,通常都需要一定的安全管理,据我个人理解,这里的安全管理主要分三个方面: 一是应用内的权限控 ...

  2. 巧用 Nginx 快速实现 HTTPS 双向认证

    1.原理 双向认证,顾名思义,客户端和服务器端都需要验证对方的身份,在建立 HTTPS 连接的过程中,握手的流程比单向认证多了几步.单向认证的过程,客户端从服务器端下载服务器端公钥证书进行验证,然后建 ...

  3. Nginx学习总结(6)——Nginx + https + 免费SSL证书配置指南

    操作环境 操作系统:centos5.5 前段静态内容处理:nginx 后端JSP处理:tomcat 6 一.Nginx + https + 免费SSL证书配置指南 生成证书 $ cd /usr/loc ...

  4. Centos 7 环境下,如何使用 Apache 实现 SSL 虚拟主机 双向认证 的详细教程:

    1. testing ! ... 1 1 原文参考链接: http://showerlee.blog.51cto.com/2047005/1266712 很久没有更新LAMP的相关文档了,刚好最近单位 ...

  5. SpringBoot项目部署到华为云ssl证书配置

    一:前提 首先我们应该去华为云申请ssl证书,一般有单域名,泛域名,多域名的类型,我这边是单域名申请的. 二:下载证书 当我们申请好证书后,我们需要下载证书,到电脑本地. 三:配置ssl证书 配置ss ...

  6. EMQTT环境部署配置双向认证

    EMQTT环境部署&&配置双向认证 EMQT服务部署 Ubuntu安装EMQTT Docker 搭建EMQ服务 EMQ双向认证配置 EMQ X Broker 是基于高并发的 Erlan ...

  7. 阿里云免费SSL证书配置(图文详解)

    阿里云免费SSL证书配置 1.操作环境 2.购买免费SSL证书 3.证书申请,绑定域名 <下一篇:Nginx+SSL证书,配置https> 1.操作环境 阿里云账号(已实名) 每个账号可免 ...

  8. 阿里云centos环境之Let's Encrypt SSL证书配置十一

    阿里云centos环境之Let's Encrypt SSL证书配置<十一> 1.目标 Let's Encrypt是国外一个公共的免费SSL项目.这里记录的是可执行的生成免费SSL证书Let ...

  9. 2021最新 阿里云服务器免费SSL证书配置方法(图文教程)

    我觉得在大家学习如何利用免费SSL证书配置网站HTTPS之前,要弄清楚开启HTTPS有什么利弊.所谓的HTTPS其实是(安全套接字层超文本传输协议)是以安全为目标的HTTP通道,简单讲是HTTP的安全 ...

  10. 最新阿里云服务器免费SSL证书配置HTTPS的两种方法(图文教程二)

    在大家学习如何利用免费SSL证书配置网站HTTPS之前,我们先要搞清楚为什么要开启HTTPS,这个绿色的小锁真的有用吗?所谓的HTTPS其实是(安全套接字层超文本传输协议)是以安全为目标的HTTP通道 ...

最新文章

  1. DataFrame类型数据的主要处理方法
  2. 哀悼!2007年图灵奖得主Edmund Clarke因感染新冠逝世
  3. python用途与前景-Python的发展前景及干货!!
  4. node.js的request模块
  5. log4net报错集
  6. QT的QBufferDataGenerator类的使用
  7. 18. 4Sum 四数之和
  8. 【GitLab】CentOS安装GitLab最佳实践
  9. 云原生安全厂商小佑科技获达泰资本千万级投资
  10. hadoop2.6.4 在ubuntu14.04下的搭建
  11. Elasticsearch--进阶-term_keyword查询---全文检索引擎ElasticSearch工作笔记015
  12. AS技巧合集「调试技巧篇」
  13. Python中文转拼音代码(支持全拼和首字母缩写)
  14. MySql锁机制:共享锁、排它锁;行锁、表锁、页锁;
  15. nn.module 看图搭建网络
  16. 按右手定则求已经知三点的法向量
  17. Stacked Conditional Generative Adversarial Networks for Jointly Learning Shadow Detection and Shadow
  18. 惠而浦扫地机器人充不进电_惠而浦 扫地狗等扫地机器人清扫效果差
  19. ubuntu测网速方法
  20. Apache Storm-2011

热门文章

  1. Java 操作符 小结
  2. findpeaks 寻找峰值函数
  3. c#检查SQL语法是否正确,不执行SQL语句
  4. 十进制转换为任意进制及操作符重载
  5. Linux命令之awk:运算与判断(三)
  6. IPv4与IPv6数据报格式详解
  7. ES权威指南[官方文档学习笔记]-12 more complicated searches
  8. 点滴积累【JS】---JS小功能(JS实现模仿微博发布效果)
  9. 坐标的先对转化clienttoscreen与screentosclient
  10. 百度网盘图片直链的php解析代码