Skip to content

404 response for various Node.js downloads and pages #5149

Closed

Description

@twyatt

URL:

https://nodejs.org/dist/v16.13.0/

Browser Name:

Chrome

Browser Version:

110.0.5481.177

Operating System:

MacOS 12.5.1

How to reproduce the issue:

  1. Attempt to click link to download node-v16.13.0-darwin-x64.tar.gz from https://nodejs.org/dist/v16.13.0/
  2. Expected to download file
  3. Instead, get a 404 page

Using Chome

node-16.13.0-darwin-x64.mov

Using command line

$ wget https://nodejs.org/dist/v16.13.0/node-v16.13.0-darwin-x64.tar.gz

--2023-03-15 14:19:10--  https://nodejs.org/dist/v16.13.0/node-v16.13.0-darwin-x64.tar.gz
Resolving nodejs.org (nodejs.org)... 104.20.23.46, 104.20.22.46
Connecting to nodejs.org (nodejs.org)|104.20.23.46|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2023-03-15 14:19:10 ERROR 404: Not Found.

Activity

  1. keithlayne commented on Mar 15, 2023

    @keithlayne

    I only tried one download, but it was a 404 as well. But https://status.nodejs.org/ is all green so I must be HTTPing wrong. 😛

  2. keithlayne commented on Mar 15, 2023

    @keithlayne

    More seriously, it's the gzip files that seem broken so far. The "download now" link for me (linux x64) uses the xz file...and that link works. Too bad the asdf plugin for node wants the gz version. (Probably should be using xz anyway)

  3. nschonni commented on Mar 15, 2023

    @nschonni
    Member

    @ovflowd The 404 is returning the new 404 page rather than the old nginx one, so I'm not sure if the new build isn't passing through a request correctly

    /cc @nodejs/build

  4. ovflowd commented on Mar 15, 2023

    @ovflowd
    Member

    The only file that is giving 404 is https://nodejs.org/dist/v16.13.0/node-v16.13.0-darwin-x64.tar.gz so far. I've tried all other files of that directory and they're working.

    The 404 is returning the new 404 page rather than the old nginx one, so I'm not sure if the new build isn't passing through a request correctly

    Afaik we were always for every 404 within the server returning the Website 404. The only change we made was to also add the 404 to non-https requests.

  5. ovflowd commented on Mar 15, 2023

    @ovflowd
    Member

    More seriously, it's the gzip files that seem broken so far. The "download now" link for me (linux x64) uses the xz file...and that link works. Too bad the asdf plugin for node wants the gz version. (Probably should be using xz anyway)

    @keithlayne actually no, only one file is 404'ing. All other gz files are working.

  6. ovflowd commented on Mar 15, 2023

    @ovflowd
    Member

    @nodejs/build can we check why only https://nodejs.org/dist/v16.13.0/node-v16.13.0-darwin-x64.tar.gz this file is somehow 404'ing?

  7. keithlayne commented on Mar 15, 2023

    @keithlayne

    @ovflowd I was here becasue of this:

     ❯❯❯ asdf install nodejs 18.15.0
    Trying to update node-build... ok
    Downloading node-v18.15.0-linux-x64.tar.gz...
    -> https://nodejs.org/dist/v18.15.0/node-v18.15.0-linux-x64.tar.gz
    error: failed to download node-v18.15.0-linux-x64.tar.gz
    -> https://nodejs.org/dist/v18.15.0/node-v18.15.0-linux-x64.tar.gz
    error: failed to download node-v18.15.0-linux-x64.tar.gz
    
    BUILD FAILED (Pop 22.04 using node-build 4.9.83-92-g23a7606c)
    
    Binary installation failed; try compiling from source with `--compile` flag
    

    So there are more problems than that one file.

  8. ovflowd commented on Mar 15, 2023

    @ovflowd
    Member

    @keithlayne this seems to be a CloudFlare cache issue. You can check by accessing https://direct.nodejs.org/dist/v16.13.0/ which is the direct connection to our server, and all the links there work normally.

    I know this doesn't solve your issue, but I'm checking with the team what are our options.

  9. keithlayne commented on Mar 15, 2023

    @keithlayne

    ...and that file just started serving, in the last 15 seconds.

  10. ovflowd commented on Mar 15, 2023

    @ovflowd
    Member

    I can also check that this is being served directly within CloudFlare with curl -v

    ❯ curl -v https://nodejs.org/dist/v16.13.0/node-v16.13.0-darwin-x64.tar.gz
    *   Trying 104.20.22.46:443...
    * Connected to nodejs.org (104.20.22.46) port 443 (#0)
    * ALPN: offers h2
    * ALPN: offers http/1.1
    *  CAfile: /etc/ssl/cert.pem
    *  CApath: none
    

    As 104.20.22.46 is a CloudFlare IP Address.

  11. ovflowd commented on Mar 15, 2023

    @ovflowd
    Member
  12. keithlayne commented on Mar 15, 2023

    @keithlayne

    @ovflowd That is really good info, thank you! Looks like I can use that url to solve my current pain. Once I started poking around I was starting to see some CF cache headers.

    For anyone else who may run into this:

    NODEJS_ORG_MIRROR=https://direct.nodejs.org/dist/ asdf install nodejs x.y.z

    seems to work - but let's be responsible, node uses a CDN for a reason.

  13. ovflowd commented on Mar 15, 2023

    @ovflowd
    Member

    Please just a friendly reminder, avoid using direct.nodejs.org when possible. Our server sadly was not designed to handle the load that the web usually does to download Node.js 😅

    seems to work - but let's be responsible, node uses a CDN for a reason.

    Exactly! Thank you for your understanding 🙇

  14. 40 remaining items

  15. ashsearle commented on Mar 17, 2023

    @ashsearle

    Is this from Artifactory? There is some filtering being put int place because of problems from a lot of misconfigured instances nodejs/build#3223

    Our case was from Gradle too (specifically gradle-node-plugin, but I'm guessing the only significance is the plugin leads to a HEAD request, not just a GET.)

  16. ovflowd commented on Mar 17, 2023

    @ovflowd
    Member

    We've just fixed the issue by deploying a new CF Firewall rule.

  17. petty commented on Mar 20, 2023

    @petty

    I'm still seeing failed builds with respect to Ivy:

    
    FAILURE: Build failed with an exception.
    
    * What went wrong:
    Execution failed for task ':project-theme-default:nodeSetup'.
    > Could not resolve all files for configuration ':project-theme-default:detachedConfiguration1'.
       > Could not resolve org.nodejs:node:16.19.1.
         Required by:
             project :project-theme-default
          > Could not resolve org.nodejs:node:16.19.1.
             > Could not get resource 'https://nodejs.org/dist/v16.19.1/ivy.xml'.
                > Could not GET 'https://nodejs.org/dist/v16.19.1/ivy.xml'. Received status code 403 from server: Forbidden
    
    
    
  18. nschonni commented on Mar 20, 2023

    @nschonni
    Member

    https://nodejs.org/dist/v16.19.1/ivy.xml

    That's a file that has never existed on the Node.js servers. Suggest you open up an issue on the Ivy plugin, as that would be an issue for their plugin

  19. tomzi8571 commented on Mar 20, 2023

    @tomzi8571

    Also got the same problem since 17.3.2023:
    FAILURE: Build failed with an exception.

    * What went wrong:
    Execution failed for task ':nodeSetup'.
    > Could not resolve all files for configuration ':detachedConfiguration1'.
       > Could not resolve org.nodejs:node:12.22.6.
         Required by:
             project :
          > Could not resolve org.nodejs:node:12.22.6.
             > Could not get resource 'https://nodejs.org/dist/v12.22.6/ivy.xml'.
                > Could not GET 'https://nodejs.org/dist/v12.22.6/ivy.xml'. Received status code 403 from server: Forbidden
    
    

    But also https://nodejs.org/dist/v12.22.6/ returns 500

  20. ovflowd commented on Mar 20, 2023

    @ovflowd
    Member

    @tomzi8571 as explained by @tridium-gward this is not an issue from our side. This file never existed and with the updated configuration it should now be properly handling the requests. So you have a misconfigured setup of your "Ivy"

  21. petty commented on Mar 20, 2023

    @petty

    @tomzi8571 as explained by @tridium-gward this is not an issue from our side. This file never existed and with the updated configuration it should now be properly handling the requests. So you have a misconfigured setup of your "Ivy"

    Ok, but this configuration hasn't changed in years ... and this also broke Friday ...

  22. nschonni commented on Mar 20, 2023

    @nschonni
    Member

    As a result of triaging this issue, additional blocking rules were setup in nodejs/build#3223. This never worked, but previously didn't hard block as before @petty. This was always a misconfiguration, and won't be rolled back

  23. tniessen commented on Mar 20, 2023

    @tniessen
    Member

    To add to @nschonni's explanation, this route likely returned 404 before, and your tooling might have silently ignored that particular error code. The new firewall configuration blocks requests from some misconfigured Artifactory/Gradle setups that would otherwise cause unnecessary load on our infrastructure, resulting in status code 403.

  24. petty commented on Mar 20, 2023

    @petty

    Ok, all good ... I just needed a newer version of the Gradle Node plugin (specifically moving from 1.3.0 to 1.5.3).

    -    id 'com.github.node-gradle.node' version '1.3.0'
    +    id 'com.github.node-gradle.node' version '1.5.3'
    
  25. cjiga commented on Mar 20, 2023

    @cjiga

    The same problem with version: v10.15.3

    `What went wrong:
    Execution failed for task ':carelogic-webapp:nodeSetup'.

    Could not resolve all dependencies for configuration 'detachedConfiguration1'.
    Could not resolve org.nodejs:node:10.15.3.
    Required by:
    com.qualifacts.carelogic:carelogic-webapp:276.01
    > Could not GET 'https://nodejs.org/dist/v10.15.3/ivy.xml'. Received status code 403 from server: Forbidden`

  26. ovflowd commented on Mar 20, 2023

    @ovflowd
    Member

    @cjiga please, read prior comments before posting here.

    I'm locking this issue to avoid duplicated comments and pings to the people here.

  27. locked as off topic and limited conversation to collaborators on Mar 20, 2023
  28. unpinned this issue on Mar 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions