Skip to content
Discussion options

You must be logged in to vote

There's no placeholder for the error text (the list is [STATUS], [RESPONSE_TIME], [IP], [BODY], [CONNECTED], [CERTIFICATE_EXPIRATION], [DOMAIN_EXPIRATION], [DNS_RCODE]), so [RESULT_ERRORS] can't work. But you can get a more specific check than [CONNECTED] == false with a tls:// endpoint that sends a body:

endpoints:
  - name: mtls-rejects-anonymous
    url: "tls://example.com:443"
    body: "GET / HTTP/1.0\r\n\r\n"
    conditions:
      - "[CONNECTED] == true"
      - "has([BODY]) == false"

Why this works: certificate required is a TLS 1.3 alert. In TLS 1.3 the client finishes its side of the handshake before the server checks for a client cert, and the alert only arrives on the first rea…

Replies: 1 comment 1 reply

Comment options

You must be logged in to vote
1 reply
@eljoest
Comment options

Answer selected by eljoest
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants