Heartbeat can't connect to endpoint with cert and key

Hello,

I'm trying to check an endpoint that requires a cert and key. I get a Client.Timeout exceeded while awaiting headers error.

- type: http
  id: Bitbucket
  schedule: '@every 20s'
  urls: ["https://bark.tgyu.com/bitbucket"]
  # ssl.verification_mode: none
  ssl:
    certificate: /root/A/public-cert.pem
    key: /root/A/key.pem
  check.response.status: 302
  check.request.method: HEAD
  timeout: 20

I can successfully curl the endpoint from the same server.

I'm running elastic 7.1.1

Thanks,
Rob

That's a bit mysterious. We tests around that behavior that run successfully.

Can you run heartbeat without no client cert/key specified and let me know what error that gives?

Sure,

"message": "Head https://asdf.com/bitbucket: dial tcp 123.122.33.33:443: i/o timeout (Client.Timeout exceeded while awaiting headers)"

I tried with a ca.crt as well with the same result.

This is very strange behavior. Can you reproduce this behavior against a public endpoint? At this point to debug it I'll need:

  1. A way to reproduce it locally
  2. To dive into packet capture to see what's going on.

Sure, Andrew. Can we set up a conference call? The endpoint is tightly controlled and I can't disclose how it is configured publicly.

Thanks,
Rob