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)