Estoy usando kubernetes/ingress-nginx. La tarea es extraer el campo CN del certificado del cliente mediante el ingreso de nginx. Estuve buscando por un tiempo y encontré una solución:
map $ssl_client_s_dn $ssl_client_s_dn_cn { default ""; ~CN=(?<CN>[^/,\"]+) $CN; }
Pero no puedo adaptar este código para el ingreso de nginx. Eso es lo que tengo actualmente y no funciona.
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;
Probablemente alguien lo haya enfrentado y sepa cómo ajustarlo correctamente, ya que no tengo ideas.
Si conoce una forma más elegante de hacerlo, comparta su conocimiento aquí.
Gracias por adelantado.
Encontré una solución, espero que pueda ayudar a alguien:
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;