Hello Team,
We are just exploring Vault as a viable option to store secrets. We are in initial setup where our initial stack comprises of:
Nginx -> Vault -> Zookeeper
We plan to rely on Cert based authentication for services accessing their secrets from Vault. Where we are stuck for now is that
Nginx is unable to pass the Client cert to the Vault backend. We have tried multiple options.
So when we connect to the VIP:
we get a response: {"errors":["client certificate must be supplied"]}
But when we try directly with vault:
we Get the correct response with a Vault token.
Our Nginx config has proxy pass set as:
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-SSL-Client-Cert $ssl_client_escaped_cert;
proxy_set_header X-SSL-CERT $ssl_client_escaped_cert;
proxy_set_header Host $host;
expires -1;
}
and for the Vault tcp listener, we have this config:
listener "tcp" {
address = "vault-server:8200"
tls_cert_file = "../chain.server.pem"
tls_key_file = "../chain.server.key.pem"
proxy_protocol_behavior = "use_always"
x_forwarded_for_reject_not_present = "false"
x_forwarded_for_reject_not_authorized = "false"
x_forwarded_for_authorized_addrs = "<redacted>"
}
Do you see if we are missing something?
Thanks in advance!
- Andrew