Saltar al contenido

Nginx restringir dominios

Solución:

El primer servidor definido en Nginx se trata como el default_server por lo tanto, con solo agregar uno como predeterminado y devolver 412 (Precondición fallida) o cualquier otro estado que mejor se adapte a sus requisitos, ayudará a que los servidores posteriores obedezcan la server_name

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name _;
    return 412;
} 

server {
    listen   80;
    server_name mysite.lk www.mysite.lk;
    location / {
        proxy_set_header   X-Forwarded-For $remote_addr;
        proxy_set_header   Host $http_host;
        proxy_pass "http://127.0.0.1:8080";
   }
}

Todas las respuestas anteriores son correctas. Pero todos no funcionan si el otro dominio intenta acceder a su host a través del puerto 443 (https / SSL).

Para bloquear el acceso a las solicitudes https, simplemente agregue un bloque if en la configuración del servidor https de su host.

    server {

        server_name www.xyz.com xyz.com;

    location / {
        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.
        try_files $uri $uri/ =404;
    }


    listen [::]:443 ssl ipv6only=on; # managed by Certbot
    listen 443 ssl; # managed by Certbot

  if ($host = "www.specificdomainyouwanttoblock.com") {
  return 404;
 }

if ($host = "specificdomainyouwanttoblock.com") {
  return 404;
 }

#or you can simply add:

if ($host != "yourdomain.com") {
  return 404;
 }

}
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *