Estou recebendo o erro E429
npm ci
(pelo menos desde hoje)npm ci
retorna o erro E429 ( Muitos pedidos ) e não conclui a instalação dos pacotesnpm ci
O mesmo aqui, mas com 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
Tendo o mesmo problema em nossos pipelines. As respostas variam entre 403 Forbidden
e 420 Too Many Requests
Vemos isso em qualquer uma de nossas tarefas de CI em execução na 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
Também para mim na construção de bambu:
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
Infraestrutura centralizada: ~ (
(esperando a autópsia, mas não prendendo a respiração ...)
Seria útil ter uma lista de espelhos de registro público (verificados). Encontrei alguns, mas não posso confiar neles.
O mesmo, tanto localmente quanto no Circle CI
Também vendo o mesmo usando Circle CI e localmente
npm ERR! code E429
npm ERR! 429 Too Many Requests - GET https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz
Estou vendo erros como ..
"O proprietário deste site (registry.npmjs.org) proibiu você temporariamente de acessar este site"
e
"Você está tendo uma taxa limitada"
Estou supondo que tudo isso está relacionado?
Também estamos tendo esse problema ao implantar no Heroku.
npm ERR! code E429
npm ERR! 429 Too Many Requests - GET https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz
Tendo os mesmos erros ao implantar no heroku.
o mesmo aqui com AWS CodeBuild e npm i -g aws-cdk
28 npm ERR! 429 Solicitações em excesso - GET https://registry.npmjs.org/aws-cdk
problema geral do servidor?
Eu também tenho o mesmo problema
npm ERR! código E429
npm ERR! 429 Solicitações em excesso - GET https://registry.npmjs.org/silent-error
O mesmo aqui ao instalar pacotes localmente.
Suécia.
`` `npm ERR! código E429
npm ERR! 429 Solicitações em excesso - GET https://registry.npmjs.org/lodash
Sim, também estou vendo isso no Travis por 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.
A mesma coisa está acontecendo aqui. Obtendo o erro ao fazer 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
Mesmo problema aqui. Estamos usando bambu ci. Instalação própria.
O arquivo pode ser acessado no próprio servidor:
`` `$ 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
Resolvendo registry.npmjs.org (registry.npmjs.org) ... 104.16.17.35, 104.16.24.35, 104.16.26.35, ...
Conectando-se a registry.npmjs.org (registry.npmjs.org) | 104.16.17.35 |: 443 ... conectado.
Solicitação HTTP enviada, aguardando resposta ... 200 OK
Comprimento: 6735 (6,6 K) [aplicação / fluxo de octeto]
Salvando em: 'plugin-transform-block-scoping-7.8.3.tgz'
plugin-transform-block-scoping-7.8.3.tgz 100% [====================================== ========================================================== ====================================================>] 6,58K - .-KB / s em 0s
2020-02-17 11:59:28 (95,5 MB / s) - 'plugin-transform-block-scoping-7.8.3.tgz' salvo [6735/6735] `` `
Enfrentando esse problema também, isso é algo global ou talvez relacionado à região? Acabamos de ter algo semelhante no ano passado na Alemanha.
O mesmo aqui rodando no Gitlab CI
O mesmo aqui na Holanda. (AWS Codebuild da Irlanda)
Rússia para
Istambul aqui
Este parece ser um problema relacionado ao Cloudflare no site registry.npmjs.org.
obteve a seguinte resposta html na atualização:
<!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>
O mesmo problema está acontecendo com o AWS Codebuild us-east-1. Foi quebrado localmente há cerca de 30 minutos, mas agora está de volta ao trabalho (localmente da Irlanda)
Este parece ser um problema relacionado ao Cloudflare no site registry.npmjs.org.
Existe algum espelho que não esteja usando o Cloudflare?
Mesmo problema! Os pipelines de construção estão falhando :(
O mesmo: npm ERR! code E429
É isso aí. A Internet está pronta. Adeus a todos.
Vou almoçar e espero que isso seja corrigido quando eu voltar em menos de uma hora.
Podemos confirmar que este é um problema do npm, mas na página de status deles tudo está listado como operacional. Qual é então o propósito da página de status do npm?
O mesmo problema. AWS 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
Acabei de entrar em contato no twitter, 🤞 que teremos informações rapidamente.
Mesmo...
npm ERR! code E429
npm ERR! 429 Too Many Requests - GET https://registry.npmjs.org/react-scripts/-/react-scripts-3.4.0.tgz
mesmo. Pacotes diferentes, mas continuo recebendo 429 solicitações demais fazendo npm install e npm ci, desde hoje cedo
:(
Estamos todos abatidos desde a manhã agora. NPM está quebrado. Dublin aqui
Funciona bem para mim agora. 5 $ / pacote. PM me.
Funciona bem para mim agora. 5 $ / pacote. PM me.
tão barato
Na Coréia do Sul, também estou enfrentando esse problema.
$ npm install --save-dev typescript
npm ERR! code E429
npm ERR! 429 Too Many Requests: [email protected]
Cada pacote NPM leva muito tempo para ser instalado.
O que aconteceu com o NPM?
Sorte que só precisamos sentar e esperar
Imagine se fôssemos todos trabalhadores da construção civil e, de repente, todos os martelos parassem de funcionar ao redor do mundo: pensando:
Que tal usar o espelho yarnpkg para suas construções?
Está tudo bem http://status.npmjs.org/
Está tudo bem http://status.npmjs.org/
De fato 😄
Esta discussão não envelheceu bem
Você pode usar: 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
Tendo o mesmo problema em vários ambientes (travis, local, servidor).
NPM: espelho quase perfeito
NPM: não funciona às segundas-feiras
NPM: sem problemas segunda-feira
Mesmo problema nos corredores Gitlab
Mesmo problema quando tentei construir no heroku. Código de erro CF 1015.
O proprietário deste site (registry.npmjs.org) proibiu você temporariamente de acessar este site
Também recebi este erro quando executo o comando npm install: " Acesso negado | registro.npmjs.org usou Cloudflare para restringir o acesso. Você está tendo uma taxa limitada. O proprietário deste site (registry.npmjs.org) baniu você temporariamente de acessar este site. ".
Eu sou de Cebu, Filipinas. É este o problema do CloudFlare ou do NPM?
O proprietário deste site (registry.npmjs.org) proibiu você temporariamente de acessar este site.
Ei pessoal, por mais divertido que seja, vamos restringir isso a coisas realmente úteis para que as pessoas possam começar a trabalhar novamente.
Parece que esse problema está muito difundido, em vez de todo mundo postar "isso está acontecendo comigo no X", que tal ficarmos quietos até ouvir algo do NPM? Ou podemos marcar um comentário com +1, se afetado.
NPM: Não é um gerenciador de pacotes
Estamos tendo interrupções aqui na Suécia também 👌 🙆♂
Parece que esse problema está muito difundido, em vez de todo mundo postar "isso está acontecendo comigo no X", que tal ficarmos quietos até ouvir algo do NPM? Ou podemos marcar um comentário com +1, se afetado.
Nah, memes e comentários inúteis para a vitória
Tendo o mesmo problema na construção AWS
Isso significa que podemos sair para o segundo almoço?
Tendo o mesmo problema no CircleCi Builds
Tendo o mesmo problema em Ações do Github!
É hora de instalar https://github.com/verdaccio/verdaccio/
Uau, Memes nos comentários XD
Pessoal, é incrível estar todos no mesmo barco e compartilhar um pouco de amor enquanto nos estressamos, mas ... podemos parar de dizer "eu também" um ao outro?
Memes são sempre bem-vindos, aliás!
Esta é a consequência do excesso de confiança no computador de outra pessoa . @phaberest você está sem sentido e eu também: -}
mesmo!
O NPM acabou de me dizer que podemos tirar o resto do dia de folga, obrigado pessoal.
Mesmo problema aqui
Isso ainda se aplica?
Mesmo
Sede da Npm agora:
Suponho que o escritório npmjs agora pic.twitter.com/wZy0Bo3PM8
- Nick Hammond (@thehappypenguin) 17 de fevereiro de 2020
O problema foi corrigido
https://status.npmjs.org/ is till green 💃
NPM:
Rumores dizem que pacotes do NPM foram infectados com um coronavírus
Eu acho que é um bom exemplo de porque é altamente recomendado instalar o próprio registro / proxy npm para proteger problemas semelhantes quando você não conseguir implantar seu aplicativo devido a uma interrupção do registro NPM
Quando você está esperando enquanto o NPM estará disponível
NPM quer que façamos uma pausa
Escrever "mesmo" é uma classificação baixa.
O mesmo aqui na Casio FX-991ESPLUS
NPM: Agora, Post Memes!
O mesmo aqui da China.
Mesmo problema ao executar o npm install em nosso servidor de compilação (Teamcity) e localmente.
Estou começando um curso de python agora.
O que adoro nisso é que esse problema não está me impedindo de trabalhar. No entanto, as pessoas que postam memes aqui estão me impedindo. Eu amo isso: D
Eu gosto de leite com chocolate
Tópico relacionado .. https://github.com/nextcloud/maps/issues/300
Porque eu sou preguiçoso, vou vincular minha postagem a partir daí .. https://github.com/nextcloud/maps/issues/300#issuecomment -586973011
sim, eu posso npm ci
NPM: nenhum pacote companheiro
Estou em uma reunião com o cliente agora e não posso demonstrar: [
Estou em uma reunião com o cliente agora e não posso demonstrar: [
muuuito. você está demonstrando npm install
para seus clientes?
Eu tenho o mesmo problema
Sem pipeline segunda-feira na Índia também 💃
Oh meu Deus, por favor, compartilhe a pasta node_modules
, qualquer um!
o mesmo aqui
"Todos os sistemas operacionais" - a maior mentira
Instável, mas não melhora?
NPM: Never Push Mocks
@anant-k-singh sim, memes, onde vocês estiveram? ;-) muito rolando polegar na comunidade de front-end agora, certo.
... e onde está o proxy npm de cache local / site local quando você precisa dele?
https://status.npmjs.org/ é muito útil ...
Alguém deve apenas fazer upload de uma pasta node_modules angularjs para o Google Drive, pelo amor de Deus
Estou em uma reunião com o cliente agora e não posso demonstrar: [
FeelsBadMan, tão ruim "poder de demonstração" que o mundo inteiro é afetado ..
Eles atualizaram a página de status.
npm WARN deprecated request@2.88.2 : a solicitação foi descontinuada, consulte https://github.com/request/request/issues/3142
npm ERR! código E429
npm ERR! 429 Solicitações em excesso - GET https://registry.npmjs.org/jsonschema/-/jsonschema-1.2.5.tgz
npm ERR! Um registro completo desta execução pode ser encontrado em:
npm ERR! C: \ Users \ Lenovo \ AppData \ Roamingnpm-cache_logs \ 2020-02-17T12_50_04_887Z-debug.log
Estou aqui apenas pelos memes
Ei pessoal, poderíamos manter memes e piadas nos respectivos canais do Slack / Discord / IRC em vez desse problema do GitHub? Eles estão cientes desse problema e atualizaram o StatusPage.
npm ERR! código E429. aqui!
"Todos os sistemas operacionais" - a maior mentira
jq -r '.dependencies * .devDependencies | keys[]' package.json | xargs -L 1 -I {} sh -c "echo installing {}; npm i {}; sleep 10"
Parece funcionar se você não instalar todos os seus pacotes de uma vez ... Isso funcionará se você estiver desesperado, mas é muito lento ...
403/429 Erros para alguns usuários
Que tal tudo?
Olá, há alguma atualização sobre isso?
E429
aqui também (Holanda)
Criar a partir de uma máquina local acionada pelo Azure DevOps.
Finalmente começou a funcionar (página de status 💃)
para baixo desde 1 hora e meia. espero que encontremos a solução logo
A correção temporária está funcionando para mim, abra o pacote-lock.json
Encontre https://registry.npmjs.org
e substitua por https://registry.npmjs.com
Execute npm ci
É bom saber que não estou sozinho 🤣
"recebido por alguns usuários", disseram
O mesmo aqui em Marte.
toda esperança está perdida
O que aconteceria com o mundo se npm parasse para sempre, isso é um pouco pensativo
Esse problema me fez experimentar o fio ... na verdade, pela primeira vez. Funciona como um encanto!
Meu astrólogo previu este evento.
Estou em uma reunião com o cliente agora e não posso demonstrar: [
muuuito. você está demonstrando
npm install
para seus clientes?
Não trouxe meu laptop, um colega meu disse que poderia simplesmente buscá-lo.
Teamviewer trabalha para ...
Quando os memes carregam mais rápido que o NPM
Olá equipe npm
Você poderia reiniciar seu computador?
Cumprimentos
Veio pelo problema, permaneceu pelos memes
Por favor, seja respeitoso e evite postar qualquer coisa exceto memes neste tópico. Obrigado.
Está funcionando
npm install finalmente funcionou para mim
Eu tenho um dir node_modules Angular9 para venda. DM-me suas ofertas
Está vivo!
@npm
Ah, para baixo por não tanto tempo, não há mais memeland :(
Este sou eu relatando ao vivo da frente do npm. Parece que está funcionando de novo!
Felicidades
A correção temporária está funcionando para mim, abra o pacote-lock.json
Encontrehttps://registry.npmjs.org
e substitua porhttps://registry.npmjs.com
Executenpm ci
Obrigado. Funciona para mim.
Saúde, começou a funcionar
Oh não ... minhas notificações de email !! 🌊
trabalhando!
Ok pessoal, isso foi hilário. Até à próxima
A correção temporária está funcionando para mim, abra o pacote-lock.json
Encontrehttps://registry.npmjs.org
e substitua porhttps://registry.npmjs.com
Executenpm ci
trabalhou para mim
Parece que o título do problema mudará de " Muitos pedidos " para " Muitos comentários "
já é o problema mais comentado da lista
(quando o problema do github é atualizado mais rápido do que a página de status do npm)
funciona para mim também
Você já experimentou rm -rf node_modules/ package-lock.json && npm install
?
esperando por votos negativos
https://github.com/npm/cli/issues/836#issuecomment -586973004
Você pode usar: 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
Por que todos os votos negativos para open-registry
?
Alternativamente, tente npm config set registry https://registry.npm.taobao.org
Isso tem sido divertido
node_modules para venda. pm me para boas ofertas: D
Você já experimentou
rm -rf node_modules/ package-lock.json && npm install
?
429 Muitos votos negativos
Divirta-se NPMing.
Minha reação quando o NPM diz para parar de enviar memes
Você tentou reiniciar o PC, talvez o erro desapareça. Porque me ajudou.
Minha construção começou a funcionar novamente! Acho que eles desligaram e ligaram finalmente
Houston, está funcionando aqui.
funciona agora para mim também
node_modules para venda. pm me para boas ofertas: D
Provavelmente a pior coisa que você pode escrever em uma comunidade de
bem parece estar consertado. trabalha na região AWS de Singapura
Funciona agora!
trabalhando agora North Virginia AWS Region
Trabalhando agora - Área 51 👽
Agora está funcionando. Agradecimentos à Equipe de Suporte NPM. Sana todos <3
Vejo você mais tarde em outra questão, pessoal da Internet
Senhores, foi um prazer!
fechá-lo, talvez?
De volta online na Bulgária. Obrigado, pessoal!
podemos fazer isso de novo?
meu nome jeff
CI instalado e funcionando .. agora vamos trabalhar .. foi uma honra
Essa interrupção me ajudou a otimizar meu Dockerfile, sem brincadeira.
Obrigado por dar as mãos.
Bloqueie este problema, não consigo fazer com que ninguém volte ao trabalho, incluindo eu mesmo
Reino Unido aqui. estava encontrando o problema 429 ao instalar next.js, mas o react e o react-dom funcionaram bem. Tudo está bem agora parece
Olá equipe npm
Você poderia reiniciar seu computador?
Cumprimentos
Eles finalmente conseguiram !!! Três vezes...
Trabalhando agora na Suécia 🇸🇪!
Até a próxima quando o NPM não estiver disponível!
Pelo menos o github parece estar altamente disponível
O GitHub está tentando atualizar ao vivo as respostas do emoji e é como fogos de artifício emoji.
Próximo problema: o GitHub está fora do ar: D
Causa: muitas solicitações no bug do NPM # 837 836
Success! created app at C:/XXXX
"Monitoramento - nosso parceiro de entrega de conteúdo nos informou que implementou uma correção. Estamos monitorando."
Problema com Cloudflare?
Grand Rapids, MI aqui
Este é meu primeiro comentário no Github com tantas reações - amo todos vocês ❤️Vejo vocês em breve
EDIT: tantos votos negativos * 😄mantenha! para baixo, quero dizer ..
Ralph quebrou a internet!
Só quero fazer parte disso. Bom trabalho NPM 👍
Então, todos nós fazemos memes agora?
Finalmente está funcionando !!!
(https://user-images.githubusercontent.com/57898245/74657035-b1009500-518f-11ea-9e95-290b51db7dbb.png)
Parece consertado agora.
Por favor, bloqueie, eu não posso fazer ninguém voltar ao trabalho, incluindo eu mesmo
não
Problemas do NPM aproximando as pessoas :)
Já que tenho toda a sua atenção, posso interessá-lo em meu último esquema de pirâmide?
Tudo parece bem agora na República Tcheca :) Obrigado, equipe NPM
NPM usando FORCE
Ok, no Irã também, questão engraçada!
a sede da npm esteja agora
Deixe a força dos memes estar com você
🇵🇹
ri muito
meus pacotes falharam ao instalar!
Nossa, cheguei atrasado na festa, está funcionando agora.
Obrigado internet!
console alterado por npm: 100:
ei, estou aqui para relatar um bug com ...
▲
▲ ▲
PSHH PSHH YOBA MI V EFIRE !! 1 🚣♂️
Todos a bordo do trem meme! 🚂
Publicar memes / piadas em uma questão desperdiça o tempo das pessoas que realmente precisam ser capazes de ler a questão.
Pare com isso. Use emoji reage se você sentir necessidade.
Precisamos de mais desses bugs, especialmente na segunda-feira.
@cmcarey nunca é uma coisa ruim sorrir e rir, nunca é perder tempo, isso vai melhorar sua produtividade na verdade, memes e piadas nos tornam humanos em vez de apenas máquinas de trabalho, até Detroit se torna um homem humano!
Olá da mesma GALARETKA !!
Olá da Internet!
Pelo menos pode ser em breve o assunto mais comentado.
Sugestão: crie uma entrada para "serviços CDN" na página de status do npm, pois parece que o problema real era com Cloudflare
https://github.com/npm/cli/issues/836#issuecomment -586992790
@cmcarey nunca é uma coisa ruim sorrir e rir, nunca é perder tempo, isso vai melhorar sua produtividade na verdade, memes e piadas nos tornam humanos em vez de apenas máquinas de trabalho, até Detroit se torna um homem humano!
Este não é o momento nem o lugar para isso. Uma enxurrada de comentários como os que vemos aqui complica o trabalho de classificação para encontrar detalhes que possam ajudar as pessoas que podem realmente resolver o problema.
Trabalhando agora no Brasil: brasil :!
Andre da segurança da NPM aqui. Nosso parceiro de entrega de conteúdo nos informou que implementou uma correção. e continuamos monitorando a situação. Você pode encontrar mais informações em nossa página de status: https://status.npmjs.org/.
Fechando o problema, mas se você tiver algum problema, entre em contato com support@npmjs.com
@aeleuterio Alguma chance de conseguirmos uma autópsia sobre isso?
Trabalhando agora!
AMD. Não faça isso de novo! Sempre! )))))
Não está funcionando novamente. Acho que o problema não foi corrigido por seus parceiros.
@cmcarey nunca é uma coisa ruim sorrir e rir, nunca é perder tempo, isso vai melhorar sua produtividade na verdade, memes e piadas nos tornam humanos em vez de apenas máquinas de trabalho, até Detroit se torna um homem humano!
Memes e piadas abafam a conversa que pode ser vital para consertar qualquer que seja o problema.
Trabalhando agora 😓
Memes e piadas abafam a conversa que pode ser vital para consertar qualquer que seja o problema.
Na verdade, tive que percorrer cerca de 200 memes apenas para ver a atualização de status real do NPM.
Apenas para sua informação: yarn foi capaz de carregar os pacotes sem acionar o limite de taxa: 1)
fio é ótimo! (e seguro)
Olá e profusas desculpas do Cloudflare, uma espécie de autópsia diretamente nos comentários do seu problema.
Sou o gerente de engenharia da equipe de proteção DDoS e esta manhã às 11h06 UTC ajustamos uma regra que afetou um de nossos sinais. O sinal está relacionado ao cabeçalho referenciador HTTP e temos um trecho de código que analisa cabeçalhos referenciadores inválidos. Neste caso, ajustamos para incluir não apenas "lixo óbvio", mas "qualquer coisa que não esteja em conformidade com a especificação HTTP" ... ou seja, o referenciador é um URI? Do contrário, contribui para o conhecimento sobre tráfego ruim.
Então ... por que isso impactou o npmjs.org? Acontece que uma grande parte do tráfego NPM envia o referenciador como "instalar", que é inválido de acordo com a especificação HTTP. Como o NPM também é um site de tráfego intenso, isso resultou nos sistemas DDoS captando isso e tratando o tráfego como uma inundação HTTP e determinando que um limite de taxa deveria ser aplicado.
Quando percebemos que o NPM estava observando um aumento no HTTP 429s (como visto no Twitter), entramos em contato com o NPM e iniciamos uma investigação interna. Assim que identificamos a causa raiz, revertemos a alteração, que era às 13h UTC.
Observaremos que o NPM e 1 outro site usam o referer para fins fora da especificação HTTP e atualizaremos nossos sistemas para garantir que isso não aconteça novamente. Além disso, melhoraremos nosso monitoramento em torno de mudanças dessa natureza para que possamos descobrir o impacto mais cedo e reverter automaticamente.
Obrigado pela explicação @ buro9
Esperançosamente, você terá alguns testes explícitos para NPM, dada a importância para a comunidade de desenvolvedores.
Nós (e muitos outros, tenho certeza) não pudemos implantar uma série de projetos por 2 horas esta manhã, durante o horário comercial da UE. Isso também deve servir como um lembrete para que todos nós tenhamos melhores medidas de continuidade para quando esses eventos acontecerem.
Em minha opinião, seria melhor garantir que as solicitações do instalador do NPM estejam de acordo com a especificação HTTP.
Em minha opinião, seria melhor garantir que as solicitações do instalador do NPM estejam de acordo com a especificação HTTP.
O referer deve estar em branco, o instalador deve ser o agente do usuário
Obrigado, posso baixar todas as minhas 5464950 dependências a cada 15 minutos para outra compilação novamente.
@ buro9 agradeceríamos se você respondesse aos nossos tíquetes e às nossas comunicações internas, antes de postar em uma questão pública, ainda não recebemos um relatório post-mortem para as duas últimas interrupções.
quanto a apontar para as especificações HTTP, considerando que esse comportamento já existe há anos, eu pediria para revisar que mudança foi empurrada no CF hoje que causou esse repentino resultado de "conformidade com a especificação HTTP".
Pedirei novamente para, por favor, acompanhar nossos tíquetes em aberto e relatar para nós na autópsia das duas últimas interrupções, preferimos saber sobre isso diretamente com você, do que ver isso em um problema no github. .
Olá e muitas desculpas da Cloudflare,
Eu não acho que você precisa se desculpar. O npm obviamente bagunçou o campo referrer e você não fez nada de errado. Só porque funcionou acidentalmente no passado não significa que deva continuar assim. Quem garante que algo assim não volte a acontecer no futuro, porque alguém está respeitando as especificações?
O npm obviamente bagunçou o campo referrer e você não fez nada de errado. Só porque funcionou acidentalmente no passado não significa que deva continuar assim.
Isso é chamado de quebras de BC e não deve ocorrer na mesma 'versão'.
O npm obviamente bagunçou o campo referrer e você não fez nada de errado. Só porque funcionou acidentalmente no passado não significa que deva continuar assim.
Isso é chamado de quebras de BC e não deve ocorrer na mesma 'versão'.
Sim, eu te dou esse ponto. Mas, esperançosamente, a decisão não será "ficará para sempre assim e todos devem obedecer".
(…)
ajustamos uma regra que afetou um de nossos sinais. O sinal está relacionado ao cabeçalho referenciador HTTP e temos um trecho de código que analisa cabeçalhos referenciadores inválidos.
(…)
Então ... por que isso impactou o npmjs.org? Acontece que uma grande parte do tráfego NPM envia o referenciador como "instalar", que é inválido de acordo com a especificação HTTP.
O cabeçalho Referer
permite o uso de URIs relativos / parciais ? 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
Sem sondar o servidor quanto à existência do URI, como você distingue um texto arbitrário codificado por url de um URI parcial real?
Se eu seguir as deduções da especificação, um Referer
header install
à primeira vista poderia ser perfeitamente válido:
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 / ":" / "@"
Então, se eu não estou interpretando mal a especificação, eu tenho que me perguntar: por que diabos esse cabeçalho de referência foi tratado como inválido? O Cloudflare verifica a existência desse URI mediante solicitação (e depois o armazena em cache) ou isso é mais uma vez um "whoopsie" rápido e solto?
@datenwolf sintaticamente deve ser possível ter um URI parcial como install
, mas que tal isso, algumas linhas abaixo do texto citado:
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".
Este imho se aplica aqui.
No entanto, isso não responde à sua última pergunta. Mas parece que o tópico é um pouco mais complexo e se divide em duas partes: 1) o npm está em conformidade com a especificação http e 2) o CF usa regras de detecção confiáveis. E talvez, apenas talvez, a resposta a ambas as perguntas seja: não. Mas deixo isso para outros discutirem. Eu só queria apontar que pedir desculpas prematuramente por "alguma coisa" pode deixar possíveis bugs sem correção, então o texto pode ter sido um pouco infeliz em direção a uma "solução" real para o problema - seja ele qual for.
Em vez de implementar block mode
no primeiro dia, ele deveria estar em observe mode
por algum tempo.
@datenwolf sintaticamente deve ser possível ter um URI parcial como ìnstall`, mas que tal isso, algumas linhas abaixo do texto citado:
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".
Este imho se aplica aqui.
Sim. Talvez eu não tenha deixado claro o suficiente, que estou totalmente ciente disso. Mas isso está totalmente fora do ponto.
Como você já apontou
(…) Parece que o tópico é um pouco mais complexo e se divide em duas partes: 1) o npm está em conformidade com a especificação http e 2) o CF usa regras de detecção confiáveis. (…)
e já salientei que sem uma verificação explícita da existência do URI Referer
, a validade do cabeçalho é impossível de decidir.
O npm viola a especificação? Certo.
O CF pode detectar isso corretamente? Apenas executando uma verificação explícita do URI. O CF executa essa verificação? Não sei ... ainda (mas posso criar um campo de testes, só para isso).
No entanto, sem mais informações, só tenho que assumir que o CF novamente fez o que o CF faz e, por motivos infundados, quebrou uma parte da Internet ... mais uma vez.
Vale a pena ter em mente que há muito pouco que um CDN possa fazer que melhore significativamente seu serviço e que não acarrete o risco de "quebrar uma parte da internet". A natureza do serviço que o CF oferece, e sua merecida popularidade como alguém que presta esse serviço, significa que eles estão basicamente sempre brincando com fogo e provavelmente incomodarão muitas pessoas quando fizerem de outra forma perdoáveis erros.
Tendo feito essa coisa de npm há algum tempo, não tenho falta de simpatia por sua posição, e acredito que é impróprio desprezá-los por isso. Eles estão fazendo um ótimo trabalho, protegendo o npm (e, portanto, toda a comunidade JS) de muitos atores mal-intencionados e interrupções, e tornando todas as nossas compilações muito mais rápidas e confiáveis. Amamos e apreciamos o Cloudflare. Então, vamos ser gentis aqui.
Dito isto, acredito que o npm não viola a letra nem o espírito das especificações HTTP relevantes ao usarmos o cabeçalho Referer para indicar o comando que fez com que uma determinada solicitação fosse feita. Espero que qualquer um que esteja acompanhando esta discussão considere a seguinte inundação de pedantismo HTTP útil ou pelo menos agradável. Se esse não é o seu tipo de coisa, por favor, vá fazer outra coisa, você não vai se divertir lendo isto :)
O CF implementou uma mudança que tratava o uso incomum de cabeçalhos HTTP como uma heurística a ser marcada como uma solicitação maliciosa. Ao lidar principalmente com o tráfego de navegadores da web, o cabeçalho Referer geralmente sempre estará ausente, about:blank
ou um URL totalmente qualificado. Portanto, um cabeçalho como Referer: install
é estranho.
No entanto: a especificação diz "URI". Não diz "URL". Certamente não diz "URL totalmente qualificado". Dado o uso tipicamente meticuloso de "URI" versus "URL" na documentação da IETF, as discussões complicadas que costumam ocorrer sobre questões como esta e o fato de que o Referer apareceu pela primeira vez no rfc1945 (embora já estivesse em uso muito antes disso), _e_ que as especificações HTTP mantiveram "URI" por meio de várias rodadas de atualizações e revisões, tenho que concluir que o _intento_ aqui é para Referer ser um URI, em vez de ser um URL em si, bem como a letra do spec.
Um URI e um URL não são a mesma coisa. Ambos os RFCs vinculados foram atualizados e obsoletos (em parte) desde seu início pelos RFCs subsequentes, e eu encorajo fortemente qualquer um que ainda esteja lendo neste momento a seguir os links e aprender sobre como os padrões de Identificação e Localização Uniforme de Recursos mudaram e se expandiram sutilmente e maneiras interessantes ao longo dos anos.
A conclusão é esta: o cabeçalho HTTP Referer
não precisa ser um _Locador_ de Recurso Uniforme, mas sim um _Identificador_ de Recurso Uniforme. Não há nenhum requisito de que esse identificador use um esquema URI conhecido ou que seja um formulário completo em vez de relativo. A única limitação é que (a) deve ser um URI e (b) se a solicitação está atendendo a uma solicitação direta do usuário que não possui nenhum tipo de identificador, como digitar um URL em uma barra de endereço, então ele _deve_ ser omitido.
Um URI explicitamente _não_ precisa ser localizável, buscável ou resolvível por qualquer agente de rede ou por meio de qualquer protocolo.
Portanto, install
é um identificador da coisa com a qual o usuário interagiu que fez com que a solicitação fosse feita. Eles não digitaram o url para o packument ou tarball em uma barra de endereço, eles digitaram npm install
e _it_ por sua vez buscou o recurso via HTTPS. Para resolver esse recurso, ele teve que fazer algumas solicitações HTTP. Nenhum esquema é fornecido, mas nenhum é necessário. "instalar" é uma série compacta de caracteres que identificam um recurso. É um URI sem esquema (ou seja, não totalmente qualificado).
Como a semântica e a sintaxe do URI são definidas por seu esquema, é impossível, na ausência de um esquema, dizer que install
não é válido. Por exemplo, tel:+12345678901
é um URI válido (e um URL válido), mas http:+12345678901
não é. Para saber se +12345678901
é um URI parcial válido, você precisa conhecer o esquema. Sua localização dependeria das particularidades dos sistemas telefônicos do nordeste de Ohio, EUA. Se uma chamada telefônica para um sistema automatizado naquele número acionasse uma solicitação HTTP a ser feita, seria perfeitamente apropriado para essa solicitação HTTP incluir um cabeçalho Referer de +12345678901
. Se o servidor espera receber solicitações desse sistema telefônico, ele pode inferir o esquema com base no contexto.
Isso é exatamente o que acontece com o cliente npm e o registro npm. Ele envia um cabeçalho Referer contendo o comando sendo executado. (Quando o comando contém argumentos posicionais, qualquer coisa que contenha /
ou \
é redigida, pois pode ser um caminho privado, url ou repositório git.) Isso é semanticamente e sintaticamente um correto e apropriado uso do cabeçalho HTTP Referer em um contexto que não seja de navegador, e é minha sincera convicção que, após 30 anos de revisão, análise e revisão pela IETF, por meio de várias versões desta especificação, se essa não fosse a intenção de a especificação do Referer, teria dito "URL" em vez de "URI".
E só para reiterar, certamente não acho que Cloudflare seja um mau ator aqui, e estou desapontado em ver como tantas pessoas foram rápidas em "escolher lados" como se fosse npm x Cloudflare em uma batalha por isso. Fomos afetados por um erro que eles cometeram, mas às vezes seremos afetados por erros que eles cometem, porque somos seus clientes e, claro, eles vão cometer erros de vez em quando, porque humanos e máquinas não são perfeitos. É assim que o mundo é. Em geral, estamos muito felizes com a resposta que recebemos e todos nós aprimoramos nossos sistemas de monitoramento e resposta devido a esse soluço.
FWIW, o "referer" não é definido como URI. Consulte a especificação: https://greenbytes.de/tech/webdav/rfc7231.html#rfc.section.5.5.2 . É uma referência de URI. "install" seria interpretado como um caminho relativo ao URI do pedido.
@reschke Mesmo nessa leitura, ainda é perfeitamente válido.
Isto é: de https://registry.npmjs.org/foo
, com Referer: install
, o Referer totalmente resolvido seria https://registry.npmjs.org/install
, um URI válido. De https://registry.npmjs.org/foo/-/foo-1.2.3.tgz
, seria https://registry.npmjs.org/foo/-/install
, também um URI válido.
Mesmo que eu esteja lendo a especificação de forma mais ampla do que o pretendido, certamente não é uma "violação" da especificação usar o Referer dessa maneira, e é um (completamente perdoável!) Sobrealcance equivocado para bloquear ou limitar a taxa de solicitações que incluem o Referer cabeçalhos que não são URLs totalmente qualificados.
À luz disso, entretanto, provavelmente _deria_ valer a pena colocar um esquema nos cabeçalhos do Referer que o npm cli envia. Teríamos que pesquisar isso para ver se isso torna mais ou menos provável que as solicitações sejam mutiladas por proxies. Outra opção, é claro, é aceitar que alguns proxies serão muito ansiosos na filtragem, resultando em dados um pouco menos ideais, mas use um cabeçalho personalizado com um significado mais definitivo, como npm-command: install
. Fazemos isso para o cabeçalho npm-session
para agrupar as solicitações e encontramos casos em que não obtemos esse cabeçalho personalizado, embora o agente do usuário implique que é um cliente npm "real" (ou em pelo menos, está afirmando ser).
Comentários muito úteis
Olá e profusas desculpas do Cloudflare, uma espécie de autópsia diretamente nos comentários do seu problema.
Sou o gerente de engenharia da equipe de proteção DDoS e esta manhã às 11h06 UTC ajustamos uma regra que afetou um de nossos sinais. O sinal está relacionado ao cabeçalho referenciador HTTP e temos um trecho de código que analisa cabeçalhos referenciadores inválidos. Neste caso, ajustamos para incluir não apenas "lixo óbvio", mas "qualquer coisa que não esteja em conformidade com a especificação HTTP" ... ou seja, o referenciador é um URI? Do contrário, contribui para o conhecimento sobre tráfego ruim.
Então ... por que isso impactou o npmjs.org? Acontece que uma grande parte do tráfego NPM envia o referenciador como "instalar", que é inválido de acordo com a especificação HTTP. Como o NPM também é um site de tráfego intenso, isso resultou nos sistemas DDoS captando isso e tratando o tráfego como uma inundação HTTP e determinando que um limite de taxa deveria ser aplicado.
Quando percebemos que o NPM estava observando um aumento no HTTP 429s (como visto no Twitter), entramos em contato com o NPM e iniciamos uma investigação interna. Assim que identificamos a causa raiz, revertemos a alteração, que era às 13h UTC.
Observaremos que o NPM e 1 outro site usam o referer para fins fora da especificação HTTP e atualizaremos nossos sistemas para garantir que isso não aconteça novamente. Além disso, melhoraremos nosso monitoramento em torno de mudanças dessa natureza para que possamos descobrir o impacto mais cedo e reverter automaticamente.