doh
`doh` 指令在 NGINX 的指定 location 块中启用 DNS-over-HTTPS。
NGINX module for serving DNS-over-HTTPS (DOH) requests
·
location
语法doh;
默认值none
上下文location
参数none
说明
doh 指令用于在指定的 location 块中为 NGINX 启用 DNS-over-HTTPS (DOH) 支持。这样 NGINX 就可以通过 HTTPS 处理 DNS 查询,作为客户端与 DNS 服务器之间的中介。当该指令包含在 location 块中时,NGINX 期望收到的请求按照 DNS 消息协议格式化。默认情况下,请求会路由到在 localhost 上运行且监听 53 端口的 DNS 服务器,查询的默认超时时间为 5 秒。
该指令不接受任何参数,其配置可以通过相关指令修改,例如使用 doh_address 指定 DNS 服务器的地址,使用 doh_port 指定端口,使用 doh_timeout 修改查询的超时时间。当收到请求时,NGINX 会验证内容类型以确保其匹配 application/dns-message。根据请求方法(GET 或 POST),NGINX 处理 DNS 查询并将其路由到指定的上游 DNS 服务器,随后将响应返回给客户端。
配置示例
location /dns-query {
doh;
doh_address 127.0.2.1;
doh_port 5353;
doh_timeout 2;
}⚠
确保 location block 具有正确的 URI 匹配,以便正确路由 DNS 查询。
⚠
请记住,查询必须具有正确的内容类型('application/dns-message')。
⚠
检查上游 DNS 服务器是否可以通过指定的地址和端口访问。