Bloquear múltiplas solicitações em um arquivo excluído

Bloquear múltiplas solicitações em um arquivo excluído

Hospedei um arquivo JavaScript em meu servidor executando Wordpress no Nginx. Removi o arquivo, mas ainda há várias solicitações de vários referenciadores. Esses referenciadores vêm de diferentes URLs e endereços IP.

Há MUITAS solicitações e quero bloqueá-las porque isso parece afetar o desempenho do meu servidor.

Existe uma maneira de bloquear essas solicitações?

Responder1

Imagino que você obterá um ganho de desempenho ao configurar o nginx explicitamente que a localização do javascript antigo não é mais válida, pois o nginx não precisará mais verificar o sistema de arquivos e quando você enviar um erro 410 ele não precisará mais para enviar a página de erro 404:

location /path/to/script.js {
return 410 ; 
}

Código de status HTTP 410: Desaparecido

O recurso solicitado não está mais disponível no servidor e nenhum endereço de encaminhamento é conhecido. Espera-se que esta condição seja considerada permanente. Clientes com recursos de edição de links DEVEM excluir referências ao Request-URI após a aprovação do usuário. Se o servidor não souber ou não tiver recursos para determinar se a condição é permanente ou não, o código de status 404 (Não encontrado) DEVE ser usado. Esta resposta pode ser armazenada em cache, a menos que indicado de outra forma.

A resposta 410 tem como objetivo principal auxiliar na tarefa de manutenção da web, notificando o destinatário de que o recurso está intencionalmente indisponível e que os proprietários do servidor desejam que os links remotos para esse recurso sejam removidos. Tal evento é comum para serviços promocionais por tempo limitado e para recursos pertencentes a indivíduos que não trabalham mais no site do servidor. Não é necessário marcar todos os recursos permanentemente indisponíveis como “desaparecidos” ou manter a marca por qualquer período de tempo – isso fica a critério do proprietário do servidor.

Responder2

location = /deleted.js {
    default_type    text/plain;
    return      410 "410";
    #access_log off;
}

Você pode querer desabilitar o log de acesso como acima ou, se estiver executando um nginx novo o suficiente, configuraraccess_logpara fazer buffer. O acesso ao disco geralmente é muito caro e é provavelmente o que está atrasando você.

Aliás, usar returnautomaticamente implica log_not_found off;, então já é melhor do que simplesmente deixar para o vfs gerar o 404.

Responder3

Esta é uma ideia usando o módulo string do iptable para verificar o conteúdo do cabeçalho http, claro que deve ser adaptado ao seu caso especial:http://spamcleaner.org/en/misc/w00tw00t.html

No entanto, não tenho muita certeza sobre o que seria mais rápido entre inspecionar todos os pacotes recebidos e fazer com que seu servidor web os processe. Eventualmente, eu apenas adicionaria uma linha na configuração do servidor para retornar imediatamente um 404 naquele URL específico; o tráfego diminuirá com o tempo, à medida que os webmasters e os mecanismos de pesquisa corrigem seus links (e irão, já que erros 404 causariam um mau posicionamento nos mecanismos de pesquisa modernos).

informação relacionada