NGINX DNS 配置

因为配置了更好用的 AdGuardHome ,所以放弃用 NGINX 代理 DNS TLS 流和 /dns-query。

配置 DOT

Dns over TLS 的配置,用 NGINX 的流处理

stream { // 此处用的是流
    upstream dot_servers {
        zone dot 64k;

        # 配置度对应的服务器
        server 1.1.1.1:853 fail_timeout=10s;
        server 1.0.0.1:853 fail_timeout=10s;
    }

    server{
            listen 853 ssl; # 一般跑在 853 上,随便改~
            ssl_certificate      /data/certs/<cert path>;
            ssl_certificate_key  /data/certs/<private key path>;
            ssl_prefer_server_ciphers off;

            proxy_pass dot_servers;
            proxy_ssl on;
    }
}

配置 DOH

默认跑 /dns-query 路径

直接添加到 server 下即可使用

location /dns-query {
    access_log /var/log/nginx/dns.access.log;

    proxy_redirect     off;
    proxy_read_timeout 86400;

    proxy_http_version       1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Host    $http_host;

    proxy_set_header X-Real-IP         $remote_addr;
    proxy_set_header X-Forwarded-For   $proxy_add_x_forwarded_for;
    proxy_set_header X-NginX-Proxy     true;
    proxy_set_header X-Forwarded-Proto $scheme;

    proxy_pass https://dns.google/dns-query;
}