Skip to content

Wrong SSL Certificate when HTTP-testing IPv6 host behind a Reverse Proxy #3545

Closed
@SkwalExe

Description

@SkwalExe

⚠️ Please verify that this bug has NOT been raised before.

  • I checked and didn't find similar issue

🛡️ Security Policy

Description

Sorry for my bad english

I want to have a HTTP monitor that uses IPV6 only, so I set the URL like this:

image

and to avoid that the web server rejects the request because we are sending it to the ip directly I set the Host Header manually

image

👟 Reproduction steps

  • put the ipv6 address in the url, and set the Host header manually
  • your DNS A record for the manually set Host header must point to a reverse proxy and the AAAA record must point to the actual web server

👀 Expected behavior

The request should be sent over IPv6 to the address in the URL field

😓 Actual Behavior

Uptime Kuma makes a DNS request for the A record of the manually set Host header then sends the request over ipv4 to the reverse proxy

I can see this with Wireshark, in the reverse proxy logs and also, the SSL certificate is that of the reverse proxy and not that of the actual web server.

🐻 Uptime-Kuma Version

1.23.0-beta.1

💻 Operating System and Arch

Ubuntu 22.04 x64

🌐 Browser

Browser doesn't matter

🐋 Docker Version

Not using docker

🟩 NodeJS Version

v16.20.0

📝 Relevant log output

No response


Having a "Force IPv6" option or different HTTP monitors for ipv4/6 would be a great idea so that people who want to monitor ipv6 only hosts don't have to do this weird trick

image

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions