doh
Директива `doh` включает DNS-over-HTTPS в указанном блоке location в NGINX.
Описание
Директива doh используется для включения поддержки DNS-over-HTTPS (DOH) в NGINX для заданного блока location. Это позволяет NGINX обрабатывать DNS-запросы через HTTPS, выступая посредником между клиентами и DNS-серверами. Когда эта директива включена в блоке location, NGINX ожидает, что входящие запросы будут отформатированы в соответствии с протоколами DNS-сообщений. По умолчанию запросы маршрутизируются к DNS-серверу, работающему на localhost на порту 53, с таймаутом по умолчанию 5 секунд для запросов. Директива не принимает аргументов, и её конфигурация может быть изменена с помощью связанных директив, таких как doh_address для указания адреса DNS-сервера, doh_port для его порта и doh_timeout для изменения длительности таймаута для запросов. При получении запроса NGINX проверяет тип содержимого, чтобы убедиться, что он соответствует application/dns-message. В зависимости от метода запроса (GET или POST) NGINX обрабатывает DNS-запрос и направляет его к назначенному upstream DNS-серверу, возвращая ответ клиенту соответствующим образом.
Пример конфига
location /dns-query {
doh;
doh_address 127.0.2.1;
doh_port 5353;
doh_timeout 2;
}Убедитесь, что location block имеет правильное сопоставление URI для корректной маршрутизации DNS queries.
Помните, что query должен иметь правильный content type ('application/dns-message').
Проверьте, что upstream DNS server доступен по указанному address и port.