我需要在 NGINX 中获取客户端证书的 CN,以将其附加到代理标头中。
我已经为此找到了以下地图代码。
map $ssl_client_s_dn $ssl_client_s_dn_cn {
default "";
~/CN=(?<CN>[^/]+) $CN;
}
但遗憾的是它只为以下 $ssl_client_s_dn 返回一个空字符串:
CN=testcn,O=测试组织
我也用其他 DN 进行了测试。但问题总是一样的。
您使用的模式需要旧 DN,因为它假定/
分离 RDN。因此(自 nginx v1.11.6 起)以下工作有效:
map $ssl_client_s_dn_legacy $ssl_client_s_dn_cn {
default "";
~/CN=(?<CN>[^/]+) $CN;
}
使用 $ssl_client_s_dn_legacy:/O=测试组织/CN=testcn
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)