Skip to content
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

All IPv6 Addresses in http(s) monitors return ENOTFOUND #4080

Open
2 tasks done
RinCat opened this issue Nov 22, 2023 · 7 comments
Open
2 tasks done

All IPv6 Addresses in http(s) monitors return ENOTFOUND #4080

RinCat opened this issue Nov 22, 2023 · 7 comments
Labels
area:monitor Everything related to monitors bug Something isn't working

Comments

@RinCat
Copy link

RinCat commented Nov 22, 2023

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

  • I checked and didn't find similar issue

🛡️ Security Policy

Description

I have multiple servers running as CDN / mirrors, and I have to use IP address not domain to check them.

So I set monitor URL to something like https://[XXXX:AAAA::1]/xxxx, and set the header to

{
    "Host": "xxxx.com"
}

It all works fine until I upgrade kuma from 1.23.3 to 1.23.6.

Now all monitors report getaddrinfo ENOTFOUND [XXXX:AAAA::1]

👟 Reproduction steps

  1. Create a HTTP(s) monitor point to a IPv6 address.
  2. Set the hostname in the header.
  3. Start the monitor

👀 Expected behavior

It should able to connect to the website.

😓 Actual Behavior

Report getaddrinfo ENOTFOUND [XXXX:AAAA::1]

🐻 Uptime-Kuma Version

1.23.6

💻 Operating System and Arch

Gentoo

🌐 Browser

N/A

🐋 Docker Version

N/A

🟩 NodeJS Version

20.6.1

📝 Relevant log output

No response

@RinCat RinCat added the bug Something isn't working label Nov 22, 2023
@louislam louislam added help bug Something isn't working and removed bug Something isn't working help labels Nov 22, 2023
@RinCat
Copy link
Author

RinCat commented Nov 22, 2023

Update for Docker users: Since we updated the base image to Node.js 18 previously, the DNS resolver is a bit different for IPv6. Read more: #4027 (comment)

https://github.com/louislam/uptime-kuma/releases/tag/1.23.6

But I am not using docker, and the nodejs version did not change during upgrade.

@louislam
Copy link
Owner

Yeah, realized that and deleted the comment before your comment.

But I cannot reproduce.

http://[fd7a:115c:a1e0:ab12:4843:cd96:627a:e78]:5001
image

I also remember someone had reported similar issue before, but I cannot find it. For some reason, the http client thought your IPv6 address is a domain.

@RinCat
Copy link
Author

RinCat commented Nov 22, 2023

Yeah, realized that and deleted the comment before your comment.

But I cannot reproduce.

http://[fd7a:115c:a1e0:ab12:4843:cd96:627a:e78]:5001 image

I also remember someone had reported similar issue before, but I cannot find it. For some reason, the http client thought your IPv6 address is a domain.

Well, I will check if something broken in my system if it works for you.

@louislam
Copy link
Owner

You can try to downgrade back 1.23.3.

git checkout 1.23.3 --force and restart Uptime Kuma.

@RinCat
Copy link
Author

RinCat commented Nov 22, 2023

I found it still broken after I downgrade to 1.23.3. Let me check if any system packages update break this.

@louislam
Copy link
Owner

#3564

I just found the related issue.

@CommanderStorm CommanderStorm added the area:monitor Everything related to monitors label Dec 5, 2023
@PikuZheng
Copy link

Same problem. But I'm running in a container and it doesn't support ipv6

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:monitor Everything related to monitors bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants