Problemas com limitador de taxa ao carregar arquivo de backup / não é possível desativar limitador de taxa

Estou movendo uma instância Discourse existente de sua localização atual para uma VM AWS EC2.
O site fica atrás de balanceadores de carga da Amazon. Já ajustei com sucesso o app.yml com as diretivas apropriadas de set_real_ip_from para que o NGINX conheça os IPs do balanceador de carga. Sei que isso está funcionando porque consigo ver meu IP real quando verifico o último IP do meu usuário.

No entanto, ao tentar fazer o upload do backup de 375 MB do servidor antigo, o novo site começa a emitir erros 429 quando o arquivo está cerca de 35% carregado e o processo de upload falha. Os cabeçalhos nas respostas 429 identificam “discourse-rate-limit-error-code: id_10_secs_limit”.

Achei isso surpreendente. Mantive a janela de Ferramentas do Desenvolvedor do meu navegador aberta na aba “Network” e vi muitos pequenos pedaços sendo carregados (acho que eram 5 MB) bem rapidamente. Tenho uma conexão de Internet rápida de 200 Mbps, então talvez seja simplesmente muito rápido para as configurações padrão do limitador de taxa? Ou talvez a expectativa fosse que as tarefas administrativas fossem geralmente feitas de uma rede privada (o que não é possível com minha configuração AWS)?

Mas espere, tem mais! Tentei desabilitar o limitador de taxa comentando a linha “templates/web.ratelimited.template.yml” do app.yml e reconstruindo o aplicativo, mas isso não funcionou. Ainda recebi erros 429 quando meu arquivo estava cerca de 35% carregado.

Então, rapidamente adicionei as variáveis de ambiente abaixo ao arquivo app.yml, reconstruí e finalmente consegui fazer o upload do backup para restauração.

DISCOURSE_MAX_REQS_PER_IP_MODE: none
DISCOURSE_MAX_REQS_PER_IP_PER_10_SECONDS: 1000

Acredito que essas sejam configurações do limitador de taxa, então foi estranho ver algo respondendo a essas configurações quando o limitador de taxa estava supostamente desabilitado.

Resumindo - adoraria ter alguma orientação sobre:

  1. O limitador de taxa deveria bloquear uploads de backup assim?
  2. Por que o limitador de taxa não foi desabilitado quando comentei essa linha e reconstruí o aplicativo?

Obrigado!

Se você está tentando carregar um backup, use scp ou coloque-o no S3.

Por "usar scp" você quer dizer transferir o arquivo diretamente para a VM e depois colocá-lo em uma determinada pasta onde o Discourse possa encontrá-lo? Eu não tentei isso, mas parece que essa pasta seria /var/discourse/shared/standalone/backups/default?

E usar S3 realmente contornaria os balanceadores de carga da Amazon?

Obrigado!

1 curtida

Se essa pasta existir, então provavelmente é esse o lugar.

Contornaria.

1 curtida

O guia de restauração padrão exige a criação da pasta default, para que mesmo que ela não exista, possa ser criada manualmente.

Ref: Restore a backup from the command line

2 curtidas