-
Notifications
You must be signed in to change notification settings - Fork 166
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
IPv6 for iojs.org #2822
Comments
I'll try swapping out the IPv6 address for iojs.org in Cloudflare in a couple of hours once I'm out of meetings. |
I've changed the IPv6 address for the two AAAA records in Cloudflare for [root@test-rackspace-fedora32-x64-1 tmp]# wget https://iojs.org/dist/index.tab --no-hsts -6
--2021-12-08 15:56:47-- https://iojs.org/dist/index.tab
Resolving iojs.org (iojs.org)... 2606:4700:3033::ac43:a3fc, 2606:4700:3034::6815:5b06
Connecting to iojs.org (iojs.org)|2606:4700:3033::ac43:a3fc|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/plain]
Saving to: ‘index.tab’
index.tab [ <=> ] 7.22K --.-KB/s in 0s
2021-12-08 15:56:47 (26.4 MB/s) - ‘index.tab’ saved [7395]
[root@test-rackspace-fedora32-x64-1 tmp]# (The IPv6 address in the output above is the Cloudflare proxy address and not the IPv6 of the droplet.) One possible explanation as to why IPv6 to |
Confirmed, everything works great in node 17! Thank you! |
I've gone ahead and updated the AAAA record in Cloudflare for [root@test-rackspace-fedora32-x64-1 tmp]# wget https://nodejs.org/dist/index.tab --no-hsts -6
--2021-12-08 17:32:23-- https://nodejs.org/dist/index.tab
Resolving nodejs.org (nodejs.org)... 2606:4700:10::6814:172e, 2606:4700:10::6814:162e
Connecting to nodejs.org (nodejs.org)|2606:4700:10::6814:172e|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/plain]
Saving to: ‘index.tab’
index.tab [ <=> ] 132.57K --.-KB/s in 0.006s
2021-12-08 17:32:24 (22.1 MB/s) - ‘index.tab’ saved [135752]
[root@test-rackspace-fedora32-x64-1 tmp]# |
This originated from @ljharb via a Slack thread, and copied into a post in the build Slack channel.
Node.js 17 switched off reordering IP lookups -- previously Node.js would always pick an IPv4 address from those returned but now by default (switchable via a command line flag
--dns-result-order
) respects the ordering returned from the underlying lookup and uses the first one. This means that if the IPv6 address is returned first that will be picked.e.g. with Node.js 17.1.0, for iojs.org we're getting:
Without Node.js involved (on
test-rackspace-fedora32-x64-1
as that host appears to have IPv6 connectivity):compare to fetching from nodejs.org via IPv6:
I had a look at the Digital Ocean droplet and the
iojs.org
andnodejs.org
Cloudflare DNS settings and the IPv6 for the droplet with IPv4 address138.197.224.240
(i.e. our www server) doesn't match the IPv6 address set in Cloudflare for the AAAA records for bothiojs.org
andnodejs.org
(there is a difference in that thenodejs.org
AAAA record in Cloudflare is proxied). I think what has happened is the droplet was moved a few years ago (#1680 and libuv/libuv#2178, note the libuv issue referencing the2604:a880:400:d0::b2c:a001
thatiojs.org
resolves to) and Cloudflare doesn't have floating IP addresses for IPv6 so the IPv6 address of the droplet is now different.I think the correct thing to do is to update the AAAA record in Cloudflare to the current IPv6 address of the droplet (maybe with proxying turned on?). Although that then make me confused as to how the
nodejs.org
set up is currently working as it looks like Cloudflare should be proxying to the same old/invalid IPv6 address.cc @nodejs/build-infra
The text was updated successfully, but these errors were encountered: