Como configurar um nginx VHost para desligar o cliente da maneira mais rude possível?

1

Eu tenho um, vamos chamá-lo, "herdado" VHost configurado em um servidor nginx. Costumava ser um site completo, mas desde então foi desativado e todo o conteúdo foi removido. O bloco server agora é parecido com isto:

server {
    listen 80;
    server_name defunct-site.com;
    return 410;
}

Existem registros DNS e aplicativos que estão fora de meu controle que ainda apontam para esse servidor, e ele ainda recebe um tráfego relativamente significativo, apesar de eu pedir ao terceiro para atualizar sua configuração e parar de tentar acessar o site. Não é preciso dizer que não posso alterar meu endereço IP sem um esforço significativo e sem sentido.

Existe uma maneira mais strong de dizer a esses clientes que o tráfego deles não é mais bem-vindo aqui? Os IPs de origem estão em todo lugar, então fazer um bloqueio iptables bem-sucedido parece improvável. E preciso ler o suficiente da solicitação HTTP para chegar ao cabeçalho Host: para ter certeza de que não estou atingindo o tráfego destinado a um VHost legítimo.

    
por smitelli 15.07.2015 / 16:08

1 resposta

2

410 Gone é o erro canônico para retornar ao conteúdo que não existe mais e é conhecido por nunca mais retornar. Em particular, ele também informa isso aos mecanismos de pesquisa, para que eles possam diminuir a classificação ou excluir essas URLs.

Uma coisa adicional que você pode fazer é fornecer um error_document para explicar às pessoas que visitam o site o que está acontecendo. Sem isso, tudo o que eles verão é um "410 Gone" não-informativo. Por exemplo:

error_document 410 /410.html;

Este será apenas um documento HTML estático que contém o que você quiser, e você pode ser tão rude quanto quiser.

<html>
<head><title>Gone</title></head>
<body>
<h1>Go away</h1>
<p>You aren't supposed to be here. This is Initech's fault, yell at
John Doe on +1 212 555-1234.</p>
</body>
</html>
    
por 15.07.2015 / 17:59