8000
Skip to content

fix(client): enable HTTP/2 - #1735

Open
Marck wants to merge 1 commit into
TwiN:masterfrom
Marck:fix/force-attempt-http2
Open

fix(client): enable HTTP/2#1735
Marck wants to merge 1 commit into
TwiN:masterfrom
Marck:fix/force-attempt-http2

Conversation

@Marck
@Marck Marck commented Jul 28, 2026
Copy link
Copy Markdown

Summary

net/http disables HTTP/2 when TLSClientConfig is set, so Gatus only ever speaks HTTP/1.1. HTTP/2-only endpoints answer 505 and the endpoint can never pass — a Quad9's DoH check is a example that fails with 505 errors.

no ForceAttemptHTTP2: 505 / connection reset
ForceAttemptHTTP2: HTTP/2.0 -> 200 OK
go test ./client/ passes.

You can test this check by configuring the following:

- name: Quad9 DoH upstream
      interval: 1m
      group: dns
      url: "https://dns10.quad9.net/dns-query?dns=AAABAAABAAAAAAAAA3d3dwdleGFtcGxlA2NvbQAAAQAB"
      client:
        timeout: 5s
      conditions:
        - "[STATUS] == 200"
        - "len([BODY]) > 0"
        - "[RESPONSE_TIME] < 1000"

Checklist

  • Tested and/or added tests to validate that the changes work as intended, if applicable.
  • Updated documentation in README.md, if applicable.

net/http disables HTTP/2 when TLSClientConfig is set, so Gatus only ever
speaks HTTP/1.1. HTTP/2-only endpoints answer 505 and the endpoint can
never pass — Quad9's DoH is one example.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@github-actions github-actions Bot added the bug Something isn't working label Jul 28, 2026
@Marck
Marck commented Jul 28, 2026
Copy link
Copy Markdown
Author

@TwiN requesting your review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

0