Livre-se de bots de extração de conteúdo em um aplicativo Rails 4 servido por Nginx usando Passenger no Ubuntu 16.04

Livre-se de bots de extração de conteúdo em um aplicativo Rails 4 servido por Nginx usando Passenger no Ubuntu 16.04

Nosso aplicativo Rails está sendo inundado com solicitações de bots que usam endereços IP. Cada solicitação resulta em uma mensagem de erro de notificação de exceção.

Nosso bloco de servidor Nginx original:

server {
server_name example.com www.example.com *.example.com;
passenger_enabled on;
rails_env production;
root /home/deploy/cm/public;
passenger_app_root /home/deploy/cm;
passenger_friendly_error_pages on;
index index.html index.htm;

listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/example.org/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/example.org/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot

if ($scheme != "https") {
    return 301 https://$host$request_uri;
} # managed by Certbot
}

server {
if ($host = www.example.com) {
    return 301 https://$host$request_uri;
} # managed by Certbot

if ($host = example.com) {
    return 301 https://$host$request_uri;
} # managed by Certbot

    listen 80;

    server_name example.com www.example.com *.example.com;
return 404; # managed by Certbot
}

Coloquei o arquivo 444.html no diretório público e adicionei-o ao topo do nosso bloco de servidor Nginx:

server { 
listen 80; 
server_name _; 
return 444; 


}

Isso não produziu alteração no número de mensagens de erro. As mensagens de erro incluem isto:

* SERVER_PORT                                 : 443
* SERVER_PROTOCOL                             : HTTP/1.1
* SERVER_SOFTWARE                             : nginx/1.18.0 Phusion_Passenger/6.0.6

Como modifico o bloco do servidor para retornar 444 se alguém usar um endereço IP em vez de nossos nomes de domínio?

Responder1

Coloque isso no topo da sua configuração:

server {
  listen       80  default_server;
  return 444;
}

informação relacionada