繁体   English   中英

从 nginx-ingress 上的客户端证书中提取 CN

[英]extract CN from client's certificate on nginx-ingress

我正在使用 kubernetes/ingress-nginx。 任务是使用 nginx 入口从客户端的证书中提取 CN 字段。 我搜索了一段时间并找到了解决方案:

   map  $ssl_client_s_dn  $ssl_client_s_dn_cn {
    default "";
    ~CN=(?<CN>[^/,\"]+) $CN;
  }

但是我无法为 nginx ingress 调整此代码。这就是我目前拥有的,但它不起作用。

nginx.ingress.kubernetes.io/http-snippets: |
  map  $ssl_client_s_dn  $ssl_client_s_dn_cn {
    default "";
    ~CN=(?<CN>[^/,\"]+) $CN;
  }
nginx.ingress.kubernetes.io/configuration-snippet: |
  proxy_set_header Remote-User $ssl_client_s_dn_cn;

可能有人面对它并且知道如何正确调整它,因为我没有想法。
如果您知道更优雅的方法,请在此处分享您的知识。
提前致谢。

我找到了一个解决方案,希望它可以帮助某人:

    nginx.ingress.kubernetes.io/http-snippet: |
     map  $ssl_client_s_dn  $ssl_client_s_dn_cn {
       default "";
       ~CN=(?<CN>[^/,\"]+) $CN;
     };

    nginx.ingress.kubernetes.io/location-snippet: |
     proxy_set_header REMOTE-USER $ssl_client_s_dn_cn;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM