Deshágase de los robots de extracción de contenido en una aplicación Rails 4 servida por Nginx usando Passenger en Ubuntu 16.04

Deshágase de los robots de extracción de contenido en una aplicación Rails 4 servida por Nginx usando Passenger en Ubuntu 16.04

Nuestra aplicación Rails está inundada de solicitudes de bots que controlan utilizando direcciones IP. Cada solicitud genera un mensaje de error de notificación de excepción.

Nuestro bloque 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
}

Coloqué el archivo 444.html en el directorio público y agregué esto en la parte superior de nuestro bloque de servidor Nginx:

server { 
listen 80; 
server_name _; 
return 444; 


}

Esto no produjo ningún cambio en el número de mensajes de error. Los mensajes de error incluyen esto:

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

¿Cómo modifico el bloque del servidor para que devuelva un 444 si alguien usa una dirección IP en lugar de nuestros nombres de dominio?

Respuesta1

Pon esto en la parte superior de tu configuración:

server {
  listen       80  default_server;
  return 444;
}

información relacionada