通过 ssl_verify_client on; 这个参数可以开启双向认证,但是开启之后访问就要求客户端必须要有客户端证书,现在的需求是想让这个认证变成可选的,也就是如果你浏览器等客户端配置有客户端证书我做后续的有证书的相关业务逻辑,如果没有证书做另外的业务逻辑。用户感知这种, 我看官方文档 ssl_verify_client 有一个 option 的值 是不是就可以达到这个功能。
nginx 开启双向认证在默认配置的情况下,是不是仅仅是验证客户端证书是否是由 CA 签发的,而不会去验证其他的证书内容呢,也就是后端的 PHP/Java 业务逻辑没有处理那么默认就成功了,如果要处理是不是后端业务逻辑获取 nginx 穿过来的变量值做处理就可以了。
后端服务器 <==已经开启双向认证==> nginx <==已经开启双向认证==> 客户端
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.