Unable to download translations

Created on 13 August 2025, about 1 month ago

Problem/Motivation

I'm unable to download translations from https://ftp-origin.drupal.org/files/translations/ due to "403 forbidden" HTTP error.
I've tried to download core translations and a module translations, but error remain.
I've tried to log in with my credentials but error remains.

Steps to reproduce

Access to https://ftp.drupal.org/files/translations/8.x/webform/webform-8.x-5.30.i... will respond with 403 HTTP status code.

Proposed resolution

In the 403 response is reported "Error 54113" from varnish cache. Maybe varnish cache server is misconfigured?

🐛 Bug report
Status

Active

Version

2.0

Component

Miscellaneous

Created by

🇮🇹Italy loriminciotti

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

  • Issue created by @loriminciotti
  • 🇩🇪Germany solimanharkas Hamburg

    As a temporary workaround, accessing the URL with a double slash after "files" seems to work, e.g.
    https://ftp.drupal.org/files//translations/all/drupal/

  • 🇺🇸United States hestenet Portland, OR 🇺🇸

    Testing - https://ftp.drupal.org/files/translations/8.x/webform/webform-8.x-5.30.i... it appears to be working properly?

    Postponing pending more info.

  • 🇩🇪Germany solimanharkas Hamburg

    Ah, I noticed that this issue seems to be browser-specific. The translations download works correctly in Safari and Firefox, but not in Chrome, which is the browser I normally use. Using Chrome in Incognito mode does not resolve the problem.

  • 🇮🇹Italy apaderno Brescia, 🇮🇹

    I can confirm that accessing https://ftp.drupal.org/files/translations/all/drupal/ with Chrome returns a 403 error, while accessing https://ftp.drupal.org//files/translations/all/drupal/.

    The 403 error page shows details which could be helpful to understand what happens.

    Error 54113
    Details: cache-mxp6952-MXP 1756159877 3332670495

    Varnish cache server

  • Do the HTTP request headers differ significantly between browsers in this case?

  • 🇺🇸United States hestenet Portland, OR 🇺🇸

    I was reminded that this is actually a deliberate blocking of the chrome useragent for browsing these - because of a DDOS attack a couple weeks ago.

    Do you have a primary use case for browsing these in browser rather than installing from the Drupal UI?

  • 🇺🇸United States byrond

    I can confirm that in both Chrome and Edge a 403 error is returned. Safari downlods the file fine, as does curl on the command-line. Adding an extra slash after files allows download via Chrome as described before.

    However, when we enable a module via Drush, we get errors downloading some translation files, and it's unlikely that the use a Chromium-based browser string.

    >  [notice] HTTP request to https://ftp.drupal.org/files/translations/all/restui/restui-8.x-1.22.en-gb.po failed with error: cURL error 6: Could not resolve host: ftp.drupal.org (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://ftp.drupal.org/files/translations/all/restui/restui-8.x-1.22.en-gb.po.
    >  [notice] Checked en-gb translation for restui.
    >  [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/restui/restui-8.x-1.22.fr-ca.po.
    >  [notice] Checked fr-ca translation for restui.
    >  [notice] Checked fr translation for restui.
    >  [notice] Checked de translation for restui.
    >  [notice] Checked es translation for restui.
    >  [notice] Checked ru translation for restui.
    >  [error]  Unable to download translation file https://ftp.drupal.org/files/translations/all/restui/restui-8.x-1.22.fr.po. 
    >  [error]  TypeError: fgets(): Argument #1 ($stream) must be of type resource, bool given in fgets() (line 248 of /var/www/html/web/core/lib/Drupal/Component/Gettext/PoStreamReader.php) #0 /var/www/html/web/core/lib/Drupal/Component/Gettext/PoStreamReader.php(248): fgets(false)
    
Production build 0.71.5 2024