-
Notifications
You must be signed in to change notification settings - Fork 4.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Consul does not present any client certificate when doing https healthchecks #3364
Comments
The plan for this is to add a new This will default to |
Actually after some internal discussion (and since the previous proposal is kind of agent-level anyway in terms of using the agent's TLS config), I'm thinking we will make this an agent-level config instead of per-check. The new config option will be called |
We have a similar situation where we are facing issues when we are trying to do a 2-way mutual auth during the HTTPS health checks. 1-way TLS works though. Let me try to explain the setup: Server agent cluster:
Client agent
Spring boot app
Case 1: Spring boot app (Hello-world-app) works in 1-way mode (doesn’t need client’s cert to establish connection)
Result: Application health url passes in Consul Case 2: Spring boot app (Hello-world-app) works in 2-way mode (needs client’s cert to establish connection)
Consul Configuration:
Result: Application health url fails in Consul with the errors as seen below: Consul client agent logs:
Spring boot app logs:
|
consul version
for both Client and ServerServer:
v0.8.4
consul info
for both Client and ServerServer:
Operating system and Environment details
Debian Sid
Description of the Issue (and unexpected/desired result)
Apparently Consul does not send a client certificate when doing an HTTPS healthcheck. I would like it to present the
cert_file
I specified in the configuration when performing HTTPS healthchecks.Reproduction steps
Register an HTTPS healthcheck, the remote endpoint using a private PKI for TLS and verifying the client certs. Configure Consul for using TLS with a certificate signed by the private CA
ca_file
,cert_file
andkey_file
It will fail on the client showing
2017/08/06 17:48:19 http: TLS handshake error from 127.0.0.1:38878: tls: client didn't provide a certificate
On consul, we see :
2017/08/06 16:48:49 [WARN] agent: http request failed 'https://127.0.0.1:6663/metrics': Get https://127.0.0.1:6663/metrics: remote error: tls: bad certificate
The text was updated successfully, but these errors were encountered: