Vincular entrada curinga capturando todos os domínios indefinidos (NXDOMAIN) em vez de apenas da zona local, mas apenas para curl, wget, chrome etc.

1

Minha configuração redireciona hosts indefinidos na rede local para uma página 404 personalizada; Assim, para invalidhostname.subdomain.example.com , o servidor bind9 redirecionaria para nginxProxy.subdomain.example.com . (que se redireciona para a página 404 hospedada em outro servidor)

Funciona como esperado para nomes de host locais indefinidos .

Mas, quando se trata de askljdaksjdad.com , nslookup , host , dig todos retornam corretamente NXDOMAIN , mas google-chrome , curl e wget todos entregam o página 404 personalizada do meu subdomínio. E isso está acontecendo em várias máquinas linux na rede.

As partes relevantes dos arquivos de configuração são:
no servidor de ligação: /etc/bind/zones/forward.subdomain.example.com

subdomain.example.com       IN SOA  bind01.subdomain.example.com. nitin.subdomain.example.com (
                64         ; serial
                604800     ; refresh (1 week)
                86400      ; retry (1 day)
                2419200    ; expire (4 weeks)
                604800     ; minimum (1 week)
                )
            NS  ns02.subdomain.example.com.
            NS  bind01.subdomain.example.com.
$ORIGIN subdomain.example.com.
;*                  CNAME   nginxProxy
*.subdomain.example.com.    CNAME   nginxProxy
nginxProxy          A   192.168.1.200

no nginxProxy: /etc/nginx/conf.d/default.conf

server {
# Server:port pair that this instance of nginx is running on and should listen to for incoming connections(IP address or name)
# Add "default_server" before the end of the line if this is the default server/role
    listen       nginxProxy.subdomain.example.com:80;

# Set name of the virtual server
    server_name subdomain.example.com *.subdomain.example.com www.subdomain.example.*;

# Address of target/upstream VM/server that hosts the actual service.
    set $target http://web.subdomain.example.com:8080/404/error.html;

# Location configuration
    location / {
# resolver directive needed here if using variables with server names for proxy_pass directive; as nginx doesn't like calling the unix resolver after configuration.
    resolver 192.168.1.210;
    proxy_pass $target;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_http_version 1.1;
    proxy_set_header Connection "";
    proxy_buffering off;
    client_max_body_size 0;
    proxy_read_timeout 36000s;
    proxy_redirect off;
    }
}

Então, o que estou perdendo aqui? Este não é o comportamento esperado, certo?

    
por Nitin Abhishek 28.12.2016 / 19:49

0 respostas