Bloquear várias solicitações em um arquivo excluído

3

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

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

Existe uma maneira de bloquear essas solicitações?

    
por Vincent Paca 19.12.2013 / 15:59

3 respostas

2

Eu imagino que você obterá um ganho de desempenho quando configurar o nginx explicitamente que a localização do javascript antigo não é mais válida, já que o nginx não precisará mais verificar o sistema de arquivos, e quando você enviar um erro 410 ele ganhará Não é necessário enviar a página de erro 404:

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

Código de status HTTP 410: ido

The requested resource is no longer available at the server and no forwarding address is known. This condition is expected to be considered permanent. Clients with link editing capabilities SHOULD delete references to the Request-URI after user approval. If the server does not know, or has no facility to determine, whether or not the condition is permanent, the status code 404 (Not Found) SHOULD be used instead. This response is cacheable unless indicated otherwise.

The 410 response is primarily intended to assist the task of web maintenance by notifying the recipient that the resource is intentionally unavailable and that the server owners desire that remote links to that resource be removed. Such an event is common for limited-time, promotional services and for resources belonging to individuals no longer working at the server's site. It is not necessary to mark all permanently unavailable resources as "gone" or to keep the mark for any length of time -- that is left to the discretion of the server owner.

    
por 19.12.2013 / 16:42
3
location = /deleted.js {
    default_type    text/plain;
    return      410 "410";
    #access_log off;
}

Você pode querer desativar o log de acesso acima ou, se estiver executando um novo nginx, configurar access_log para fazer buffer. Geralmente, o acesso ao disco é muito caro e é provável que o atrapalhe.

BTW, usando return implica automaticamente log_not_found off; , então, já é melhor do que simplesmente deixar para o vfs ter o 404 gerado.

    
por 20.12.2013 / 03:29
2

Esta é uma idéia usando o módulo de string do iptable para verificar o conteúdo do cabeçalho http, é claro que ele deve ser adaptado ao seu caso especial: link

No entanto, não tenho muita certeza sobre o que seria mais rápido entre inspecionar todos os pacotes recebidos e fazer com que o seu servidor os manipulasse. Eu acabaria por adicionar apenas uma linha na configuração do servidor para retornar imediatamente um 404 nessa URL específica; o tráfego diminuirá com o tempo, já que os webmasters e os mecanismos de pesquisa corrigem seus links (e eles, como os erros 404, causariam um mau posicionamento nos mecanismos de pesquisa modernos da Web).

    
por 19.12.2013 / 16:38

Tags