doh

Директива `doh` включает DNS-over-HTTPS в указанном блоке location в NGINX.

Синтаксисdoh;
По умолчаниюnone
Контекстlocation
Аргументыnone

Описание

Директива 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.

← Ко всем директивам