Pe cluster-ul nostru k8s folosim NGINX Ingress Controller pentru a solicita clienților (web-browsere) să furnizeze un certificat de client. Dacă certificatul este valid, cererea este trimisă la un server Apache complet din rețeaua privată.
Comunicarea nginx <> Apache nu este criptată TLS.
Folosind opțiunea „nginx.ingress.kubernetes.io/auth-tls-pass-certificate-to-upstream: „true”” de pe ngnix, serverul Apache primește un antet numit X-Client-Certificate care conține certificatul client complet în format PEM.
În acest moment sunt pierdut. Cum folosesc acest certificat la fel cum aș face, când îl trimit de la client direct la serverul Apache HTTP (nu prin proxy)?
Intenționez să folosesc DN-ul informațiilor despre certificate ca REMOTE_USER pentru a efectua o autorizare ldap (folosind mod_authnz_ldap), dar nu pot face acest lucru (REMOTE_USER conține „500”).
Neavând un proxy între ele, aș folosi această comandă și aș avea numele de utilizator în variabila de mediu REMOTE_USER a Apache - având-l accesibil ca nume de utilizator pentru a autoriza în LDAP:
SSLUserName SSL_CLIENT_S_DN_CN
A avut cineva experiență cu acest tip de configurare și ar putea să-mi dea un indiciu? Am epuizat toate cele cunoscute de mine și am găsit opțiuni.
Mulțumesc anticipat.