J'obtiens une erreur E429
npm ci
(depuis au moins aujourd'hui)npm ci
renvoie l'erreur E429 ( trop de requĂȘtes ) et ne termine pas l'installation des packagesnpm ci
Idem ici, mais avec npm -g install @vue/cli
.
npm WARN deprecated [email protected]: request has been deprecated, see https://github.com/request/request/issues/3142
npm ERR! code E429
npm ERR! 429 Too Many Requests - GET https://registry.npmjs.org/lowdb/-/lowdb-1.0.0.tgz
Avoir le mĂȘme problĂšme sur nos pipelines. Les rĂ©ponses varient entre 403 Forbidden
et 420 Too Many Requests
Nous voyons cela dans l'une de nos tùches CI exécutées dans AWS
Step 8/11 : RUN npm ci
---> Running in 87051ac87a51
npm ERR! code E429
npm ERR! 429 Too Many Requests - GET https://registry.npmjs.org/@types/xxhashjs/-/xxhashjs-0.2.1.tgz
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2020-02-17T11_49_35_151Z-debug.log
The command '/bin/sh -c npm ci' returned a non-zero code: 1
ERROR: Job failed: exit code 1
Aussi pour moi sur la construction en bambou:
error 17-feb-2020 12:49:46 npm ERR! code E429
error 17-feb-2020 12:49:46 npm ERR! 429 Too Many Requests - GET https://registry.npmjs.org/@snyk/configstore/-/configstore-3.2.0-rc1.tgz
Infrastructure centralisée: ~ (
(en attendant l'autopsie, mais sans retenir mon souffle ...)
Il serait utile d'avoir une liste de miroirs de registre publics (vérifiés). J'en ai trouvé mais je ne peux pas leur faire confiance.
Idem, Ă la fois localement et sur Circle CI
Voir Ă©galement la mĂȘme chose en utilisant Circle CI et localement
npm ERR! code E429
npm ERR! 429 Too Many Requests - GET https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz
Je vois des erreurs comme ..
"Le propriétaire de ce site Web (registry.npmjs.org) vous a temporairement interdit d'accéder à ce site Web"
et
"Votre tarif est limité"
Je suppose que tout cela est lié?
Nous rencontrons également ce problÚme lors du déploiement sur Heroku.
npm ERR! code E429
npm ERR! 429 Too Many Requests - GET https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz
Avoir les mĂȘmes erreurs lors du dĂ©ploiement sur heroku.
idem ici avec AWS CodeBuild et npm i -g aws-cdk
28 | npm ERR! 429 Trop de demandes - GET https://registry.npmjs.org/aws-cdk
problÚme de serveur général?
J'ai aussi le mĂȘme problĂšme
npm ERR! code E429
npm ERR! 429 Trop de demandes - OBTENEZ https://registry.npmjs.org/silent-error
MĂȘme chose ici lors de l'installation des packages localement.
SuĂšde.
`` npm ERR! code E429
npm ERR! 429 Trop de demandes - OBTENEZ https://registry.npmjs.org/lodash
Oui, je vois aussi ça sur Travis pour npm audit
:
npm ERR! audit Your configured registry (https://registry.npmjs.org/) may not support audit requests, or the audit endpoint may be temporarily unavailable.
npm ERR! audit The server said:
Access denied | registry.npmjs.org used Cloudflare to restrict access
You are being rate limited
The owner of this website (registry.npmjs.org) has banned you temporarily from accessing this website.
La mĂȘme chose se passe ici. Obtenir l'erreur en faisant npm update
17-Feb-2020 11:47:48 npm ERR! code E429
17-Feb-2020 11:47:48 npm ERR! 429 Too Many Requests - GET https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.3.tgz
MĂȘme problĂšme ici. Nous utilisons du bambou ci. Propre installation.
Le fichier est accessible depuis le serveur lui-mĂȘme:
`` $ wget https://registry.npmjs.org/@babel/plugin -transform-block-scoping / - / plugin-transform-block-scoping-7.8.3.tgz
--2020-02-17 11: 59: 28-- https://registry.npmjs.org/@babel/plugin -transform-block-scoping / - / plugin-transform-block-scoping-7.8.3.tgz
RĂ©solution de registry.npmjs.org (registry.npmjs.org) ... 104.16.17.35, 104.16.24.35, 104.16.26.35, ...
Connexion à registry.npmjs.org (registry.npmjs.org) | 104.16.17.35 |: 443 ... connecté.
RequĂȘte HTTP envoyĂ©e, en attente de rĂ©ponse ... 200 OK
Longueur: 6735 (6,6K) [application / octet-stream]
Enregistrement dans: 'plugin-transform-block-scoping-7.8.3.tgz'
plugin-transform-block-scoping-7.8.3.tgz 100% [================================== =================================================== =============================================>] 6,58K - .-Ko / s en 0s
2020-02-17 11:59:28 (95,5 Mo / s) - 'plugin-transform-block-scoping-7.8.3.tgz' enregistré [6735/6735] ``
Face Ă ce problĂšme Ă©galement, est-ce un problĂšme mondial ou peut-ĂȘtre liĂ© Ă la rĂ©gion? Nous venons d'avoir quelque chose de similaire l'annĂ©e derniĂšre en Allemagne.
Idem ici fonctionnant sur Gitlab CI
MĂȘme chose ici aux Pays-Bas. (AWS Codebuild d'Irlande)
Russie Ă
Istanbul ici
Cela semble ĂȘtre un problĂšme liĂ© Ă Cloudflare pour le site registry.npmjs.org.
a obtenu la réponse html suivante lors de la mise à jour:
<!DOCTYPE html>
npm ERR! <!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en-US"> <![endif]-->
npm ERR! <!--[if IE 7]> <html class="no-js ie7 oldie" lang="en-US"> <![endif]-->
npm ERR! <!--[if IE 8]> <html class="no-js ie8 oldie" lang="en-US"> <![endif]-->
npm ERR! <!--[if gt IE 8]><!--> <html class="no-js" lang="en-US"> <!--<![endif]-->
npm ERR! <head>
npm ERR! <title>Access denied | registry.npmjs.org used Cloudflare to restrict access</title>
npm ERR! <meta charset="UTF-8" />
npm ERR! <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
npm ERR! <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" />
npm ERR! <meta name="robots" content="noindex, nofollow" />
npm ERR! <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1" />
npm ERR! <link rel="stylesheet" id="cf_styles-css" href="/cdn-cgi/styles/cf.errors.css" type="text/css" media="screen,projection" />
npm ERR! <!--[if lt IE 9]><link rel="stylesheet" id='cf_styles-ie-css' href="/cdn-cgi/styles/cf.errors.ie.css" type="text/css" media="screen,projection" /><![endif]-->
npm ERR! <style type="text/css">body{margin:0;padding:0}</style>
npm ERR!
npm ERR!
npm ERR! <!--[if gte IE 10]><!--><script type="text/javascript" src="/cdn-cgi/scripts/zepto.min.js"></script><!--<![endif]-->
npm ERR! <!--[if gte IE 10]><!--><script type="text/javascript" src="/cdn-cgi/scripts/cf.common.js"></script><!--<![endif]-->
npm ERR!
npm ERR!
npm ERR!
npm ERR! </head>
npm ERR! <body>
npm ERR! <div id="cf-wrapper">
npm ERR! <div class="cf-alert cf-alert-error cf-cookie-error" id="cookie-alert" data-translate="enable_cookies">Please enable cookies.</div>
npm ERR! <div id="cf-error-details" class="cf-error-details-wrapper">
npm ERR! <div class="cf-wrapper cf-header cf-error-overview">
npm ERR! <h1>
npm ERR! <span class="cf-error-type" data-translate="error">Error</span>
npm ERR! <span class="cf-error-code">1015</span>
npm ERR! <small class="heading-ray-id">Ray ID: REDACTED • 2020-02-17 11:26:27 UTC</small>
npm ERR! </h1>
npm ERR! <h2 class="cf-subheadline">You are being rate limited</h2>
npm ERR! </div><!-- /.header -->
npm ERR!
npm ERR! <section></section><!-- spacer -->
npm ERR!
npm ERR! <div class="cf-section cf-wrapper">
npm ERR! <div class="cf-columns two">
npm ERR! <div class="cf-column">
npm ERR! <h2 data-translate="what_happened">What happened?</h2>
npm ERR! <p>The owner of this website (registry.npmjs.org) has banned you temporarily from accessing this website.</p>
npm ERR! </div>
npm ERR!
npm ERR!
npm ERR! </div>
npm ERR! </div><!-- /.section -->
npm ERR!
npm ERR! <div class="cf-error-footer cf-wrapper">
npm ERR! <p>
npm ERR! <span class="cf-footer-item">Cloudflare Ray ID: <strong>REDACTED</strong></span>
npm ERR! <span class="cf-footer-separator">•</span>
npm ERR! <span class="cf-footer-item"><span>Your IP</span>: REDACTED</span>
npm ERR! <span class="cf-footer-separator">•</span>
npm ERR! <span class="cf-footer-item"><span>Performance & security by</span> <a href="https://www.cloudflare.com/5xx-error-landing?utm_source=error_footer" id="brand_link" target="_blank">Cloudflare</a></span>
npm ERR!
npm ERR! </p>
npm ERR! </div><!-- /.error-footer -->
npm ERR!
npm ERR!
npm ERR! </div><!-- /#cf-error-details -->
npm ERR! </div><!-- /#cf-wrapper -->
npm ERR!
npm ERR! <script type="text/javascript">
npm ERR! window._cf_translation = {};
npm ERR!
npm ERR!
npm ERR! </script>
npm ERR!
npm ERR! </body>
npm ERR! </html>
Le mĂȘme problĂšme se produit avec AWS Codebuild us-east-1. A Ă©tĂ© cassĂ© localement jusqu'Ă il y a environ 30 minutes mais de retour au travail maintenant (localement d'Irlande)
Cela semble ĂȘtre un problĂšme liĂ© Ă Cloudflare pour le site registry.npmjs.org.
Existe-t-il un miroir n'utilisant pas cloudflare?
MĂȘme problĂšme! Les pipelines de construction Ă©chouent :(
Idem: npm ERR! code E429
C'est ça. Internet est fait. Au revoir tout le monde.
Je vais déjeuner et j'espÚre que cela sera réglé à mon retour dans moins d'une heure.
Nous pouvons à peu prÚs confirmer qu'il s'agit d'un problÚme npm, mais sur leur page d'état, tout est répertorié comme opérationnel. Quel est alors le but de la page de statut npm?
Le mĂȘme problĂšme. AWS Ă partir de us-east-1
npm ERR! code E429
npm ERR! 429 Too Many Requests - GET https://registry.npmjs.org/archy/-/archy-1.0.0.tgz
Je viens de contacter Twitter, đ€ que nous aurons des informations rapidement.
MĂȘme...
npm ERR! code E429
npm ERR! 429 Too Many Requests - GET https://registry.npmjs.org/react-scripts/-/react-scripts-3.4.0.tgz
mĂȘme. DiffĂ©rents packages, mais continuent Ă recevoir 429 demandes de trop lors de l'installation de npm et de npm ci, depuis plus tĂŽt aujourd'hui
:(
Nous sommes tous à terre depuis le matin maintenant. NPM est cassé. Dublin ici
Fonctionne bien pour moi maintenant. 5 $ / forfait. Envoyez-moi un MP.
Fonctionne bien pour moi maintenant. 5 $ / forfait. Envoyez-moi un MP.
peu cher
En Corée du Sud, je suis également confronté à ce problÚme.
$ npm install --save-dev typescript
npm ERR! code E429
npm ERR! 429 Too Many Requests: [email protected]
Chaque package NPM prend trop de temps Ă ĂȘtre installĂ©.
Qu'est-il arrivé à NPM?
Heureusement, nous devons juste nous asseoir et attendre
Imaginez si nous Ă©tions tous des ouvriers du bĂątiment et que soudainement, tous les marteaux cessaient de fonctionner dans le monde: penser:
Que diriez-vous d'utiliser le miroir yarnpkg pour vos constructions?
Tout va bien http://status.npmjs.org/
Tout va bien http://status.npmjs.org/
En effet đ
Cette discussion n'a pas bien vieilli
Vous pouvez utiliser: https://github.com/open-services/open-registry
# npm
npm config set registry https://npm.open-registry.dev
# yarn
yarn config set registry https://npm.open-registry.dev
Avoir le mĂȘme problĂšme dans plusieurs environnements (travis, local, serveur).
NPM: Miroir presque parfait
NPM: ne fonctionne pas le lundi
NPM: pas de problĂšme lundi
MĂȘme problĂšme dans les coureurs Gitlab
MĂȘme problĂšme lors d'une tentative de construction dans heroku. Code d'erreur CF 1015.
Le propriétaire de ce site Web (registry.npmjs.org) vous a temporairement interdit d'accéder à ce site Web
J'ai également eu cette erreur lorsque j'exécute la commande npm install: " AccÚs refusé | registry.npmjs.org a utilisé Cloudflare pour restreindre l'accÚs. Votre taux est limité. Le propriétaire de ce site Web (registry.npmjs.org) vous a temporairement banni d'accéder à ce site Web. ".
Je viens de Cebu aux Philippines. Est-ce un problĂšme CloudFlare ou le NPM?
Le propriétaire de ce site Web (registry.npmjs.org) vous a temporairement interdit d'accéder à ce site Web.
HĂ© les gens, aussi amusant que cela puisse ĂȘtre, limitons cela Ă des choses rĂ©ellement utiles afin que les gens puissent recommencer Ă travailler.
Il semble que ce problÚme soit assez répandu, au lieu que tout le monde publie «cela m'arrive sur X», pourquoi ne pas nous accrocher jusqu'à ce que nous entendions quelque chose de NPM? Ou nous pouvons attribuer +1 à un commentaire s'il est affecté.
NPM: pas un gestionnaire de packages
Nous avons aussi des pannes ici en SuĂšde đ đââ
Il semble que ce problÚme soit assez répandu, au lieu que tout le monde publie «cela m'arrive sur X», pourquoi ne pas nous accrocher jusqu'à ce que nous entendions quelque chose de NPM? Ou nous pouvons attribuer +1 à un commentaire s'il est affecté.
Non, des mĂšmes et des commentaires inutiles pour la victoire
Avoir le mĂȘme problĂšme sur la version AWS
Cela signifie-t-il que nous pouvons partir pour le deuxiÚme déjeuner?
Avoir le mĂȘme problĂšme sur CircleCi Builds
Avoir le mĂȘme problĂšme sur les actions Github!
Il est temps d'installer https://github.com/verdaccio/verdaccio/
Wow, Memes dans les commentaires XD
Les gars, c'est gĂ©nial d'ĂȘtre tous sur le mĂȘme bateau et de partager un peu d'amour pendant que nous nous stressons, mais ... pourrions-nous arrĂȘter de nous dire «moi aussi»?
Les mĂšmes sont toujours les bienvenus, d'ailleurs!
C'est la consĂ©quence d'une dĂ©pendance excessive Ă l'Ă©gard de l'ordinateur de quelqu'un d'autre . @phaberest vous ĂȘtes insensĂ© et moi aussi: -}
mĂȘme!
NPM vient de me dire que nous pouvons prendre le reste de la journée, merci les gens.
MĂȘme problĂšme ici
Cela s'applique-t-il toujours?
MĂȘme
SiĂšge de Npm en ce moment:
Je suppose que le bureau de npmjs est en ce moment #npm pic.twitter.com/wZy0Bo3PM8
- Nick Hammond (@thehappypenguin) 17 février 2020
Le problÚme est maintenant résolu
https://status.npmjs.org/ est jusqu'au vert đ
NPM:
Des rumeurs disent que les paquets NPM ont été infectés par un coronavirus
Je pense que c'est un bon exemple pourquoi il est fortement recommandé d'installer son propre registre / proxy npm pour protéger des problÚmes similaires lorsque vous ne pourrez pas déployer votre application en raison d'une panne de registre NPM
Lorsque vous attendez pendant que NPM sera disponible
NPM veut que nous prenions une pause
Ecrire «mĂȘme» est une note faible.
Idem ici sur Casio FX-991ESPLUS
NPM: Maintenant, Post Memes!
MĂȘme chose ici de Chine.
MĂȘme problĂšme lors de l'exĂ©cution de npm install sur notre serveur de build (Teamcity) et localement.
Je commence un cours de python en ce moment.
Ce que j'aime Ă ce sujet, c'est que ce problĂšme ne m'empĂȘche pas de travailler. Cependant, les gens qui publient des mĂšmes ici m'arrĂȘtent. J'adore: D
Je lie du lait au chocolat
Sujet connexe .. https://github.com/nextcloud/maps/issues/300
Parce que je suis paresseux, je lierai mon message Ă partir de lĂ . Https://github.com/nextcloud/maps/issues/300#issuecomment -586973011
ouais, je peux npm ci
NPM: aucun package mate
Je suis actuellement en réunion client et je ne peux pas faire de démonstration: [
Je suis actuellement en réunion client et je ne peux pas faire de démonstration: [
sooo. vous présentez npm install
Ă vos clients?
J'ai le mĂȘme problĂšme
Pas de lundi de pipeline en Inde aussi đ
Oh mon dieu, veuillez partager le dossier node_modules
, n'importe qui!
pareil ici
"Tous les systÚmes opérationnels" - le plus gros mensonge
Instable mais ne s'améliore pas?
NPM: ne jamais pousser les mocks
@ anant-k-singh oui, mĂšmes, oĂč Ă©tais- tu ? ;-) beaucoup de pouce dans la communautĂ© front-end maintenant, Ă droite.
... et oĂč se trouve ce proxy npm de mise en cache local / site-local lorsque vous en avez besoin?
https://status.npmjs.org/ est trĂšs utile ...
Someon devrait simplement télécharger un dossier angularjs node_modules sur Google Drive pour l'amour du ciel
Je suis actuellement en réunion client et je ne peux pas faire de démonstration: [
FeelsBadMan, si mauvais "pouvoir de la démo" que le monde entier est touché.
Ils ont mis Ă jour la page d'Ă©tat.
npm WARN obsolĂšte request@2.88.2 : la requĂȘte est obsolĂšte, voir https://github.com/request/request/issues/3142
npm ERR! code E429
npm ERR! 429 Trop de demandes - GET https://registry.npmjs.org/jsonschema/-/jsonschema-1.2.5.tgz
npm ERR! Un journal complet de cette exĂ©cution peut ĂȘtre trouvĂ© dans:
npm ERR! C: \ Users \ Lenovo \ AppData \ Roamingnpm-cache_logs \ 2020-02-17T12_50_04_887Z-debug.log
Je suis ici juste pour les mĂšmes
Salut Ă tous, pourrions-nous conserver des mĂšmes et des blagues sur les canaux Slack / Discord / IRC respectifs plutĂŽt que sur ce problĂšme GitHub? Ils sont conscients de ce problĂšme et ont mis Ă jour la StatusPage.
npm ERR! code E429. ici!
"Tous les systÚmes opérationnels" - le plus gros mensonge
jq -r '.dependencies * .devDependencies | keys[]' package.json | xargs -L 1 -I {} sh -c "echo installing {}; npm i {}; sleep 10"
Cela semble fonctionner si vous n'installez pas tous vos paquets en mĂȘme temps ... Cela fonctionnera si vous ĂȘtes dĂ©sespĂ©rĂ© mais c'est assez lent ...
Erreurs 403/429 pour certains utilisateurs
Et tout?
Salut, y a-t-il des mises Ă jour Ă ce sujet?
E429
ici aussi (Pays-Bas)
Construction à partir d'une machine locale déclenchée par Azure DevOps.
Enfin, il a commencĂ© Ă fonctionner (page d'Ă©tat đ)
en baisse depuis 1h30. j'espĂšre que nous trouverons le correctif bientĂŽt
Correction de température fonctionnant pour moi, ouvrez package-lock.json
Trouvez https://registry.npmjs.org
et remplacez-le par https://registry.npmjs.com
Exécutez npm ci
C'est bon de savoir que je ne suis pas seul đ€Ł
"reçu par certains utilisateurs", ont-ils déclaré
Pareil ici sur Mars.
tout espoir est perdu
Qu'arriverait-il au monde si npm s'arrĂȘtait pour toujours, c'est un peu penseur
Ce problĂšme m'a fait essayer le fil, .. en fait pour la premiĂšre fois. Fonctionne comme un charme!
Mon astrologue a prédit cet événement.
Je suis actuellement en réunion client et je ne peux pas faire de démonstration: [
sooo. vous présentez
npm install
Ă vos clients?
Je n'ai pas apporté mon ordinateur portable, mon collÚgue a dit qu'il pouvait simplement le chercher.
Teamviewer fonctionne bien ...
Quand les mĂšmes se chargent plus vite que NPM
Salut l'Ă©quipe npm
Souhaitez-vous s'il vous plaßt redémarrer votre ordinateur?
Meilleures salutations
Je suis venu pour le problÚme, je suis resté pour les mÚmes
Soyez respectueux et Ă©vitez de publier autre chose que des mĂšmes dans ce fil. Je vous remercie.
Ăa marche
npm install a finalement fonctionné pour moi
J'ai un répertoire node_modules Angular9 à vendre. DM moi vos offres
C'est vivant!
@npm
Ah, pas si longtemps, il n'y a plus de memeland :(
C'est moi qui rapporte en direct du front npm. On dirait que ça marche à nouveau!
à votre santé
Correction de température fonctionnant pour moi, ouvrez package-lock.json
Trouvezhttps://registry.npmjs.org
et remplacez-le parhttps://registry.npmjs.com
Exécuteznpm ci
Je vous remercie. Ăa marche pour moi.
Vive ça a commencé à fonctionner
Oh non ... mes notifications par e-mail !! đ
travail!
Ok les gars, ça a été hilarant. A la prochaine fois
Correction de température fonctionnant pour moi, ouvrez package-lock.json
Trouvezhttps://registry.npmjs.org
et remplacez-le parhttps://registry.npmjs.com
Exécuteznpm ci
travaillé pour moi
Il semble que le titre du problĂšme passe de " Trop de demandes " Ă " Trop de commentaires "
c'est déjà le problÚme le plus commenté de la liste
(lorsque le problĂšme github se met Ă jour plus rapidement que la page d'Ă©tat de npm)
fonctionne pour moi aussi
Avez-vous essayé rm -rf node_modules/ package-lock.json && npm install
?
en attente de votes négatifs
https://github.com/npm/cli/issues/836#issuecomment -586973004
Vous pouvez utiliser: https://github.com/open-services/open-registry# npm npm config set registry https://npm.open-registry.dev # yarn yarn config set registry https://npm.open-registry.dev
Pourquoi tous les votes négatifs pour open-registry
?
Sinon, essayez npm config set registry https://registry.npm.taobao.org
Cela a été amusant
node_modules Ă vendre. pm moi pour les bonnes offres: D
Avez-vous essayé
rm -rf node_modules/ package-lock.json && npm install
?
429 Trop de votes contre
Amusez-vous au NPM.
Ma rĂ©action lorsque NPM dit d'arrĂȘter de soumettre des mĂšmes
Avez-vous essayĂ© de redĂ©marrer le PC, l'erreur disparaĂźtra peut-ĂȘtre. Parce que ça m'a aidĂ©.
Ma version a recommencé à fonctionner! Je suppose qu'ils l'ont éteint et rallumé finalement
Houston, ça marche ici.
fonctionne maintenant pour moi aussi
node_modules Ă vendre. pm moi pour les bonnes offres: D
Probablement la pire chose que vous puissiez écrire dans une communauté
bien semble ĂȘtre fixĂ©. travaille dans la rĂ©gion AWS de Singapour
Fonctionne maintenant!
travaille maintenant RĂ©gion AWS de Virginie du Nord
Travaillez maintenant - Zone 51
Ăa fonctionne maintenant. Merci Ă l'Ă©quipe de support NPM. Sana tous <3
A plus tard pour un autre numéro, les internautes
Messieurs, ce fut un plaisir!
le fermer, peut-ĂȘtre?
De retour en ligne en Bulgarie. Merci, les gars!
pouvons-nous recommencer?
mon nom jeff
CI est opérationnel ... maintenant au travail ... ça a été un honneur
Cette panne m'a aidé à rationaliser mon Dockerfile, sans blague.
Merci de vous tenir la main.
Veuillez verrouiller ce problĂšme, je ne peux ramener personne au travail, y compris moi-mĂȘme
Royaume-Uni ici. rencontrait le problĂšme 429 lors de l'installation de next.js, mais react et react-dom allaient bien. Tout va bien maintenant il semble
Salut l'Ă©quipe npm
Souhaitez-vous s'il vous plaßt redémarrer votre ordinateur?
Meilleures salutations
Ils l'ont finalement fait !!! 3 fois...
Travaille maintenant en SuĂšde đžđȘ!
A la prochaine fois que NPM n'est pas disponible!
Au moins, github semble ĂȘtre hautement disponible
GitHub essaie de mettre à jour en direct les réponses emoji et c'est comme un feu d'artifice emoji.
Prochain numéro: GitHub est en panne: D
Cause: trop de requĂȘtes dans le bogue NPM n ° 837836
Success! created app at C:/XXXX
"Surveillance - Notre partenaire de diffusion de contenu nous a informĂ©s qu'il a mis en Ćuvre un correctif. Nous surveillons."
ProblĂšme Cloudflare?
Grand Rapids, MI ici
C'est mon premier commentaire sur Github avec tant de rĂ©actions - je vous aime tous â€ïžA bientĂŽt
EDIT: tant de votes nĂ©gatifs * đ continuez comme ça! bas je veux dire ...
Ralph a cassé Internet!
Je veux juste en faire partie. Bon travail NPM đ
Alors on fait tous des mĂšmes maintenant?
Enfin ça marche !!!
(https://user-images.githubusercontent.com/57898245/74657035-b1009500-518f-11ea-9e95-290b51db7dbb.png)
On dirait corrigé maintenant.
Veuillez le verrouiller, je ne peux obliger personne Ă retourner au travail, y compris moi-mĂȘme
non
ProblĂšmes de NPM rassemblant les gens :)
Puisque j'ai toute votre attention, puis-je vous intéresser à mon dernier schéma pyramidal?
Tout va bien maintenant en RĂ©publique tchĂšque :) Merci l'Ă©quipe NPM
NPM utilisant FORCE
Ok en Iran aussi, drĂŽle de problĂšme!
Le siĂšge de npm soit maintenant
Que la force des mĂšmes soit avec toi
đ”đč
lol
mes packages n'ont pas pu ĂȘtre installĂ©s!
oh mon Dieu, je suis arrivĂ© tard Ă la fĂȘte, ça marche maintenant.
Merci internet!
console modifiée par npm: 100:
hé, je suis ici pour signaler un bug avec ...
âČ
âČ âČ
PSHH PSHH YOBA MI V EFIRE !! 1 đŁââïž
Tous Ă bord du train meme! đ
Publier des mÚmes / blagues dans un numéro fait perdre du temps aux personnes qui ont réellement besoin de pouvoir lire le problÚme.
ArrĂȘte ça. Utilisez emoji rĂ©agit si vous en ressentez le besoin.
Nous avons besoin de plus de ces bogues, surtout lundi.
@cmcarey ce n'est jamais une mauvaise chose de sourire et de rire, ce n'est jamais perdre le temps, cela amĂ©liorera votre productivitĂ© en fait, les mĂšmes et les blagues font de nous un humain au lieu de simplement travailler des machines, mĂȘme Detroit devient un homme!
Bonjour du mĂȘme GALARETKA !!
bonjour d'Internet!
Au moins, ce sera peut-ĂȘtre bientĂŽt le problĂšme le plus commentĂ©.
Suggestion: créez une entrée pour "Services CDN" sur la page d'état de npm, car il semble que le problÚme réel soit lié à Cloudflare
https://github.com/npm/cli/issues/836#issuecomment -586992790
@cmcarey ce n'est jamais une mauvaise chose de sourire et de rire, ce n'est jamais perdre le temps, cela amĂ©liorera votre productivitĂ© en fait, les mĂšmes et les blagues font de nous un humain au lieu de simplement travailler des machines, mĂȘme Detroit devient un homme!
Ce n'est ni le moment ni le lieu pour cela. Un flot de commentaires comme nous le voyons ici complique le travail de tri pour trouver des détails qui peuvent aider les personnes qui peuvent réellement résoudre le problÚme.
Travailler maintenant au Brésil: Brésil:!
AndrĂ© de la sĂ©curitĂ© npm ici. Notre partenaire de livraison de contenu nous a informĂ©s qu'il avait mis en Ćuvre un correctif. et nous continuons Ă surveiller la situation. Vous pouvez trouver plus d'informations sur notre page de statut: https://status.npmjs.org/.
ClĂŽture du problĂšme, mais en cas de problĂšme, veuillez contacter support@npmjs.com
@aeleuterio Y a-t-il une chance que nous puissions obtenir un post-mortem Ă ce sujet?
Travaille maintenant!
OMG. Ne recommencez pas! DĂ©jĂ ! )))))
Cela ne fonctionne plus. Je suppose que le problÚme n'a pas été résolu par vos partenaires.
@cmcarey ce n'est jamais une mauvaise chose de sourire et de rire, ce n'est jamais perdre le temps, cela amĂ©liorera votre productivitĂ© en fait, les mĂšmes et les blagues font de nous un humain au lieu de simplement travailler des machines, mĂȘme Detroit devient un homme!
Cependant, les mĂšmes et les blagues couvrent la conversation qui peut ĂȘtre vitale pour rĂ©soudre le problĂšme.
Travaille maintenant đ
Cependant, les mĂšmes et les blagues couvrent la conversation qui peut ĂȘtre vitale pour rĂ©soudre le problĂšme.
En effet, j'ai dû faire défiler environ 200 mÚmes juste pour voir la mise à jour du statut réel de NPM.
Juste pour votre info: yarn a pu charger les paquets sans déclencher la limite de taux: 1)
le fil est génial! (et sûr)
Bonjour et excuses abondantes de Cloudflare, une sorte de post-mortem directement dans vos commentaires sur le problĂšme.
Je suis le responsable technique de l'Ă©quipe de protection DDoS et ce matin Ă 11h06 UTC, nous avons modifiĂ© une rĂšgle qui affectait l'un de nos signaux. Le signal concerne l'en-tĂȘte du rĂ©fĂ©rent HTTP, et nous avons un morceau de code qui examine les en-tĂȘtes de rĂ©fĂ©rent non valides. Dans ce cas, nous l'avons modifiĂ© pour inclure non seulement "des dĂ©chets Ă©vidents" mais "tout ce qui n'est pas conforme Ă la spĂ©cification HTTP" ... c'est-Ă -dire que le rĂ©fĂ©rent est un URI? Sinon, cela contribue Ă la connaissance du mauvais trafic.
Alors ... pourquoi cela a-t-il eu un impact sur npmjs.org? Il s'avĂšre que beaucoup de trafic NPM envoie le rĂ©fĂ©rent comme "install" qui n'est pas valide selon la spĂ©cification HTTP. Ătant donnĂ© que NPM est Ă©galement un site Ă fort trafic, les systĂšmes DDoS l'ont pris en charge et ont traitĂ© le trafic comme un flux HTTP et ont dĂ©terminĂ© qu'une limite de dĂ©bit devrait ĂȘtre appliquĂ©e.
Lorsque nous avons remarquĂ© que NPM constatait une augmentation des HTTP 429 (comme on le voit sur Twitter), nous avons contactĂ© NPM et lancĂ© une enquĂȘte interne. DĂšs que nous avons identifiĂ© la cause principale, nous avons annulĂ© le changement, qui Ă©tait Ă 13h00 UTC.
Nous noterons que NPM et 1 autre site utilisent le référent à des fins en dehors des spécifications HTTP et nous mettrons à jour nos systÚmes pour nous assurer que cela ne se reproduira plus. De plus, nous améliorerons notre surveillance des changements de cette nature afin de pouvoir découvrir l'impact plus tÎt et revenir en arriÚre automatiquement.
Merci pour l'explication @ buro9
J'espÚre que vous aurez des tests explicites pour NPM, étant donné l'importance pour la communauté des développeurs.
Nous (et beaucoup dâautres, je suis sĂ»r) nâavons pas pu dĂ©ployer un certain nombre de projets pendant 2 heures ce matin, pendant les heures ouvrables de lâUE. Cela devrait Ă©galement nous rappeler de mettre en place de meilleures mesures de continuitĂ© lorsque ces Ă©vĂ©nements se produisent.
à mon avis, il serait préférable de s'assurer que les demandes du programme d'installation de NPM sont conformes à la spécification HTTP.
à mon avis, il serait préférable de s'assurer que les demandes du programme d'installation de NPM sont conformes à la spécification HTTP.
Le rĂ©fĂ©rent doit ĂȘtre vide, le programme d'installation doit ĂȘtre un agent utilisateur
Merci, je peux à nouveau télécharger toutes mes dépendances 5464950 toutes les 15 minutes pour une autre version.
@ buro9 nous vous serions reconnaissants si vous
Quant à pointer vers les spécifications HTTP, étant donné que ce comportement est en place depuis des années, je demanderais à revoir quel changement a été poussé dans CF aujourd'hui qui a provoqué ce résultat soudain de "conformité avec la spécification HTTP"?
Je vous demanderai à nouveau de faire le suivi de nos tickets ouverts et de nous faire rapport sur l'autopsie des deux derniÚres pannes, nous préférerions en savoir plus directement auprÚs de vous, plutÎt que de le voir dans un numéro sur github. .
Bonjour et excuses abondantes de Cloudflare,
Je ne pense pas que vous ayez à vous excuser. npm a visiblement gùché le champ référent et vous n'avez rien fait de mal. Ce n'est pas parce que cela a accidentellement fonctionné dans le passé que cela devrait rester ainsi. Qui garantira que quelque chose comme ça ne se reproduira plus à l'avenir, parce que quelqu'un respecte les spécifications?
npm a visiblement gùché le champ référent et vous n'avez rien fait de mal. Ce n'est pas parce que cela a accidentellement fonctionné dans le passé que cela devrait rester ainsi.
Cela s'appelle les pauses BC et ne devrait pas se produire dans la mĂȘme «version».
npm a visiblement gùché le champ référent et vous n'avez rien fait de mal. Ce n'est pas parce que cela a accidentellement fonctionné dans le passé que cela devrait rester ainsi.
Cela s'appelle les pauses BC et ne devrait pas se produire dans la mĂȘme «version».
Ouais, je vous donne ce point. Mais avec un peu de chance, la décision ne sera pas "elle le restera pour toujours et tout le monde doit s'y conformer".
(âŠ)
nous avons modifiĂ© une rĂšgle qui a affectĂ© l'un de nos signaux. Le signal concerne l'en-tĂȘte du rĂ©fĂ©rent HTTP, et nous avons un morceau de code qui examine les en-tĂȘtes de rĂ©fĂ©rent non valides.
(âŠ)
Alors ... pourquoi cela a-t-il eu un impact sur npmjs.org? Il s'avÚre que beaucoup de trafic NPM envoie le référent comme "install" qui n'est pas valide selon la spécification HTTP.
L'en-tĂȘte Referer
permet-il pas d'utiliser des URI relatifs / partiels ? https://tools.ietf.org/html/rfc7231#section -5.5.2
5.5.2. Referer The "Referer" [sic] header field allows the user agent to specify a URI reference for the resource from which the target URI was obtained (i.e., the "referrer", though the field name is misspelled). A user agent MUST NOT include the fragment and userinfo components of the URI reference [RFC3986], if any, when generating the Referer field value. Referer = absolute-URI / partial-URI
Sans sonder le serveur pour l'existence de l'URI, comment distinguer un texte arbitraire codé par URL d'un URI partiel réel?
Si je suis les dĂ©ductions de la spĂ©cification, alors un en-tĂȘte install
Referer
install
Ă premiĂšre vue pourrait ĂȘtre parfaitement valide:
https://tools.ietf.org/html/rfc7230#section -2.7
relative-part = <relative-part, see [RFC3986], Section 4.2> partial-URI = relative-part [ "?" query ]
https://tools.ietf.org/html/rfc3986#section -4.2
relative-ref = relative-part [ "?" query ] [ "#" fragment ] relative-part = "//" authority path-abempty / path-absolute / path-noscheme / path-empty
https://tools.ietf.org/html/rfc3986#section -3.3
path-noscheme = segment-nz-nc *( "/" segment ) segment = *pchar segment-nz = 1*pchar segment-nz-nc = 1*( unreserved / pct-encoded / sub-delims / "@" ) ; non-zero-length segment without any colon ":" pchar = unreserved / pct-encoded / sub-delims / ":" / "@"
Donc, si je n'ai pas mal interprĂ©tĂ© la spĂ©cification, je dois me demander: pourquoi diable cet en-tĂȘte de rĂ©fĂ©rence a-t-il Ă©tĂ© traitĂ© comme invalide? Cloudflare vĂ©rifie-t-il l'existence de cet URI sur demande (puis le met en cache), ou est-ce encore une fois un "whoopsie" rapide et lĂąche?
@datenwolf syntaxiquement, il devrait ĂȘtre possible d'avoir un URI partiel comme install
, mais que diriez-vous de cela, quelques lignes en dessous de votre texte cité:
If the target URI was obtained from a source that does not have its
own URI [...], the user agent MUST either exclude the
Referer field or send it with a value of "about:blank".
Cette imho s'applique ici.
Cela ne rĂ©pond cependant pas Ă votre derniĂšre question. Mais il semble que le sujet soit un peu plus complexe et se divise en deux parties: 1) est-ce que npm est conforme Ă la spĂ©cification http, et 2) est-ce que CF utilise des rĂšgles de dĂ©tection fiables. Et peut-ĂȘtre, juste peut-ĂȘtre, la rĂ©ponse aux deux questions est: non. Mais je laisse cela aux autres pour en discuter. Je voulais juste souligner que s'excuser prĂ©maturĂ©ment pour «quelque chose» peut laisser des bogues potentiels non rĂ©solus, de sorte que le libellĂ© aurait pu ĂȘtre un peu malheureux pour une vĂ©ritable «solution» au problĂšme - quelle qu'elle soit.
Au lieu d'implémenter block mode
le tout premier jour, cela aurait dĂ» ĂȘtre dans observe mode
depuis un certain temps.
@datenwolf syntaxiquement, il devrait ĂȘtre possible d'avoir un URI partiel comme «install», mais que diriez-vous de cela, quelques lignes en dessous de votre texte citĂ©:
If the target URI was obtained from a source that does not have its own URI [...], the user agent MUST either exclude the Referer field or send it with a value of "about:blank".
Cette imho s'applique ici.
Oui. Peut-ĂȘtre ne l'ai-je pas suffisamment expliquĂ©, que je suis pleinement conscient de cela. Mais c'est tout Ă fait autre chose.
Comme vous l'avez déjà souligné
(âŠ) Il semble que le sujet soit un peu plus complexe et se divise en deux parties: 1) npm est-il conforme Ă la spĂ©cification http, et 2) CF utilise-t-il des rĂšgles de dĂ©tection fiables. (âŠ)
et j'ai déjà souligné, que sans vérification explicite de l'existence de l'URI Referer
, la validitĂ© de l'en-tĂȘte est impossible Ă dĂ©cider.
Npm enfreint-il la spécification? Sûr.
La CF peut-elle correctement dĂ©tecter cela? Uniquement en effectuant une vĂ©rification explicite de l'URI. Est-ce que CF effectue cette vĂ©rification? Je ne sais pas⊠encore (mais je pourrais peut-ĂȘtre mettre en place un terrain d'essai, juste pour ça).
Cependant, sans plus d'informations, je dois simplement supposer que les FC ont de nouveau agi comme les FC et, pour des raisons mal fondées, ont détruit une partie d'Internet⊠encore une fois.
Il convient de garder à l'esprit dans tout cela qu'il y a trÚs peu de choses qu'un CDN peut faire pour améliorer significativement son service et qui ne comporte pas le risque de «casser une partie d'Internet». La nature du service fourni par les FC, et leur popularité bien méritée en tant que fournisseur de ce service, signifie qu'ils jouent essentiellement toujours avec le feu et sont susceptibles de contrarier beaucoup de gens lorsqu'ils rendent autrement pardonnables et bien intentionnés. des erreurs.
Ayant fait ce truc de npm depuis un certain temps maintenant, je ne manque pas de sympathie pour leur position, et je pense qu'il est inapproprié de les mépriser pour cela. Ils font un excellent travail, protégeant npm (et donc, toute la communauté JS) de beaucoup de mauvais acteurs et de pannes, et rendant toutes nos constructions beaucoup plus rapides et plus fiables. Nous aimons et apprécions Cloudflare. Alors soyons gentils ici.
Cela Ă©tant dit, je pense que npm n'est ni en violation de la lettre ni de l'esprit des spĂ©cifications HTTP pertinentes dans notre utilisation de l'en-tĂȘte Referer pour indiquer la commande qui a provoquĂ© une demande donnĂ©e. J'espĂšre que tous ceux qui suivent cette discussion trouveront le flot suivant de pĂ©danterie HTTP utile ou du moins agrĂ©able. Si ce n'est pas votre genre de chose, allez faire autre chose, vous ne passerez pas un bon moment Ă lire ceci :)
CF a dĂ©ployĂ© un changement qui traitait l'utilisation inhabituelle des en-tĂȘtes HTTP comme une heuristique Ă marquer comme une requĂȘte malveillante. Lorsqu'il s'agit principalement de trafic provenant de navigateurs Web, l'en-tĂȘte Referer sera gĂ©nĂ©ralement toujours manquant, about:blank
, ou une URL complĂšte. Donc, un en-tĂȘte comme Referer: install
est bizarre.
Cependant: la spécification dit "URI". Il ne dit pas "URL". Il ne dit certainement pas "URL complÚte". Compte tenu de l'utilisation généralement méticuleuse de "URI" vs "URL" dans la documentation de l'IETF, des discussions à couper le souffle qui s'ensuivent souvent sur des sujets comme celui-ci et du fait que Referer est apparu pour la premiÚre fois dans
Un URI et une URL ne sont pas la mĂȘme chose. Les deux RFC liĂ©es ont Ă©tĂ© mises Ă jour et obsolĂštes (en partie) depuis leur crĂ©ation par les RFC ultĂ©rieures, et j'encourage fortement quiconque lisant encore Ă ce stade Ă suivre les liens et Ă dĂ©couvrir comment les normes d'emplacement et d'identification uniformes des ressources ont changĂ© et se sont dĂ©veloppĂ©es de maniĂšre subtile. et des maniĂšres intĂ©ressantes au fil des ans.
La ligne du bas est la suivante: l'en-tĂȘte HTTP Referer
n'a pas besoin d'ĂȘtre un _Locator_ de ressource uniforme, mais plutĂŽt un _Identifier_ de ressource uniforme. Il n'est pas nĂ©cessaire que cet identificateur utilise un schĂ©ma d'URI bien connu, ou qu'il s'agisse d'une forme complĂšte plutĂŽt que relative. La seule limitation qui y est placĂ©e est que (a) il doit s'agir d'un URI, et (b) si la demande satisfait une demande directe de l'utilisateur qui n'a aucun type d'identifiant, comme la saisie d'une URL dans une barre d'adresse, alors il _doit_ ĂȘtre omis.
Un URI n'a pas besoin explicitement d'ĂȘtre localisable, rĂ©cupĂ©rable ou rĂ©soluble par un agent rĂ©seau donnĂ© ou via un protocole donnĂ©.
Ainsi, install
est un identifiant pour l'élément avec lequel l'utilisateur a interagi et qui a provoqué la demande. Ils n'ont pas tapé l'url du packument ou de l'archive tar dans une barre d'adresse, ils ont tapé npm install
, et _it_ Ă son tour a rĂ©cupĂ©rĂ© la ressource via HTTPS. Afin de rĂ©soudre cette ressource, il a dĂ» faire des requĂȘtes HTTP. Aucun schĂ©ma n'est fourni, mais aucun n'est requis. «install» est une sĂ©rie compacte de caractĂšres identifiant une ressource. C'est un URI sans schĂ©ma (c'est-Ă -dire pas entiĂšrement qulifiĂ©).
Comme la sémantique et la syntaxe des URI sont définies par leur schéma, il est impossible, en l'absence de schéma, de dire que install
n'est pas valide. Par exemple, tel:+12345678901
est un URI valide (et une URL valide), mais http:+12345678901
ne l'est pas. Afin de savoir si +12345678901
est un URI partiel valide, vous devez connaĂźtre le schĂ©ma. Sa localisation dĂ©pendrait des particularitĂ©s des systĂšmes tĂ©lĂ©phoniques du nord-est de l'Ohio, aux Ătats-Unis. Si un appel tĂ©lĂ©phonique Ă un systĂšme automatisĂ© Ă ce numĂ©ro dĂ©clenchait une requĂȘte HTTP, il serait parfaitement appropriĂ© que cette requĂȘte HTTP inclue un en-tĂȘte Referer de +12345678901
. Si le serveur s'attend à recevoir des demandes d'un tel systÚme téléphonique, il peut déduire le schéma en fonction du contexte.
C'est exactement ce qui se passe avec le client npm et le registre npm. Il envoie un en-tĂȘte Referer contenant la commande en cours d'exĂ©cution. (Lorsque la commande contient des arguments de position, tout ce qui contient /
ou \
est expurgĂ©, car il peut s'agir d'un chemin privĂ©, d'une url ou d'un dĂ©pĂŽt git.) C'est sĂ©mantiquement et syntaxiquement un correct et appropriĂ© l'utilisation de l'en-tĂȘte HTTP Referer dans un tel contexte sans navigateur, et je crois sincĂšrement qu'aprĂšs 30 ans de rĂ©vision, d'analyse et d'examen par l'IETF, Ă travers plusieurs versions de cette spĂ©cification, si ce n'Ă©tait pas l'intention de la spĂ©cification Referer, il aurait dit "URL" plutĂŽt que "URI".
Et juste pour rĂ©pĂ©ter, je ne pense certainement pas que Cloudflare soit un mauvais acteur ici, et je suis déçu de voir Ă quel point tant de gens ont Ă©tĂ© rapides pour "choisir leur camp" comme si c'Ă©tait npm vs Cloudflare dans une bataille Ă ce sujet. Nous avons Ă©tĂ© affectĂ©s par une erreur qu'ils ont faite, mais nous allons parfois ĂȘtre affectĂ©s par des erreurs qu'ils font, parce que nous sommes leur client, et bien sĂ»r ils vont faire des erreurs de temps en temps, parce que les humains et les machines ne sont pas parfaits. C'est comme ça que le monde est. Dans l'ensemble, nous sommes trĂšs satisfaits de la rĂ©ponse que nous avons obtenue et nous avons tous amĂ©liorĂ© nos systĂšmes de surveillance et d'intervention Ă la lumiĂšre de ce hoquet.
FWIW, le "référent" n'est pas défini comme URI. Voir les spécifications: https://greenbytes.de/tech/webdav/rfc7231.html#rfc.section.5.5.2 . C'est une référence URI. "install" serait interprété comme un chemin, par rapport à l'URI de la demande.
@reschke MĂȘme sur cette lecture, c'est toujours parfaitement valable.
Autrement dit: Ă partir de https://registry.npmjs.org/foo
, avec Referer: install
, le Referer entiÚrement résolu serait https://registry.npmjs.org/install
, un URI valide. Ă partir de https://registry.npmjs.org/foo/-/foo-1.2.3.tgz
, ce serait https://registry.npmjs.org/foo/-/install
, Ă©galement un URI valide.
MĂȘme si je lis la spĂ©cification plus largement que prĂ©vu, ce n'est certainement pas une "violation" de la spĂ©cification d'utiliser Referer de cette maniĂšre, et c'est une erreur (complĂštement pardonnable!) De bloquer ou de limiter les demandes qui incluent Referer des en-tĂȘtes qui ne sont pas des URL complĂštes.
Ă la lumiĂšre de cela, cependant, il vaudrait probablement la peine de mettre un schĂ©ma sur les en-tĂȘtes Referer que le cli npm envoie. Nous devrons rechercher cela pour voir si cela rend plus ou moins probable que les demandes soient mutilĂ©es par des mandataires. Une autre option, bien sĂ»r, est d'accepter que certains proxys seront simplement trop pressĂ©s dans le filtrage, ce qui entraĂźnera des donnĂ©es lĂ©gĂšrement moins idĂ©ales, mais utilisez plutĂŽt un en-tĂȘte personnalisĂ© avec une signification plus dĂ©finitive, comme npm-command: install
place. Nous faisons cela pour l'en-tĂȘte npm-session
pour regrouper les requĂȘtes, et avons trouvĂ© des cas oĂč nous n'obtenons pas cet en-tĂȘte personnalisĂ©, mĂȘme si l'agent utilisateur implique qu'il s'agit d'un "vrai" client npm (ou Ă le moins, prĂ©tend ĂȘtre).
Commentaire le plus utile
Bonjour et excuses abondantes de Cloudflare, une sorte de post-mortem directement dans vos commentaires sur le problĂšme.
Je suis le responsable technique de l'Ă©quipe de protection DDoS et ce matin Ă 11h06 UTC, nous avons modifiĂ© une rĂšgle qui affectait l'un de nos signaux. Le signal concerne l'en-tĂȘte du rĂ©fĂ©rent HTTP, et nous avons un morceau de code qui examine les en-tĂȘtes de rĂ©fĂ©rent non valides. Dans ce cas, nous l'avons modifiĂ© pour inclure non seulement "des dĂ©chets Ă©vidents" mais "tout ce qui n'est pas conforme Ă la spĂ©cification HTTP" ... c'est-Ă -dire que le rĂ©fĂ©rent est un URI? Sinon, cela contribue Ă la connaissance du mauvais trafic.
Alors ... pourquoi cela a-t-il eu un impact sur npmjs.org? Il s'avĂšre que beaucoup de trafic NPM envoie le rĂ©fĂ©rent comme "install" qui n'est pas valide selon la spĂ©cification HTTP. Ătant donnĂ© que NPM est Ă©galement un site Ă fort trafic, les systĂšmes DDoS l'ont pris en charge et ont traitĂ© le trafic comme un flux HTTP et ont dĂ©terminĂ© qu'une limite de dĂ©bit devrait ĂȘtre appliquĂ©e.
Lorsque nous avons remarquĂ© que NPM constatait une augmentation des HTTP 429 (comme on le voit sur Twitter), nous avons contactĂ© NPM et lancĂ© une enquĂȘte interne. DĂšs que nous avons identifiĂ© la cause principale, nous avons annulĂ© le changement, qui Ă©tait Ă 13h00 UTC.
Nous noterons que NPM et 1 autre site utilisent le référent à des fins en dehors des spécifications HTTP et nous mettrons à jour nos systÚmes pour nous assurer que cela ne se reproduira plus. De plus, nous améliorerons notre surveillance des changements de cette nature afin de pouvoir découvrir l'impact plus tÎt et revenir en arriÚre automatiquement.