Перейти к содержанию

doh: Модуль NGINX для обработки запросов DNS-over-HTTPS (DOH)

Установка на Debian/Ubuntu

Эти документы относятся к APT пакету nginx-module-doh, предоставляемому репозиторием GetPageSpeed Extras.

  1. Настройте APT репозиторий, как описано в настройке APT репозитория.
  2. Установите модуль:
sudo apt-get update
sudo apt-get install nginx-module-doh
Показать дистрибутивы и архитектуры
| Дистрибутив | Версия             | Компонент   | Архитектуры   |
|-------------|--------------------|-------------|----------------|
| debian      | bookworm           | main        | amd64, arm64   |
| debian      | bookworm-mainline  | main        | amd64, arm64   |
| ubuntu      | focal              | main        | arm64          |
| ubuntu      | focal-mainline     | main        | arm64          |
| ubuntu      | jammy              | main        | arm64          |
| ubuntu      | jammy-mainline     | main        | arm64          |
| ubuntu      | noble              | main        | arm64          |
| ubuntu      | noble-mainline     | main        | arm64          |

Простой модуль Nginx для обработки запросов DNS-over-HTTPS (DOH).

CAVEAT EMPTOR: Этот модуль является экспериментальным, даже несмотря на то, что я успешно использовал его как с Firefox, так и с Curl, могут быть невыявленные ошибки. Передача зоны в настоящее время официально не поддерживается.

Проверено с версиями Nginx: 1.16.1 (стабильная) 1.17.6 1.17.7 (основная).

Инструкции по сборке, установке и использованию модулей Nginx можно найти по следующим ссылкам.

динамический: https://www.nginx.com/resources/wiki/extending/converting/#compiling-dynamic

статический: https://www.nginx.com/resources/wiki/extending/compiling/

Я включил файл конфигурации как для сборки динамического, так и статического модуля.

Этот модуль можно использовать только в блоке http location.

ДИРЕКТИВЫ МОДУЛЯ

doh: (не принимает аргументов) включает DOH в этом блоке location, адрес upstream DNS сервера по умолчанию - 127.0.0.1, порт по умолчанию - 53, и таймаут по умолчанию - 5 секунд.

doh_address: (принимает 1 аргумент) устанавливает адрес upstream DNS сервера, может быть как IPv4, так и IPv6.

doh_port: (принимает 1 аргумент) устанавливает порт для связи с upstream DNS сервером (относится как к TCP, так и к UDP соединениям).

doh_timeout: (принимает 1 аргумент) устанавливает таймаут в секундах.

ПРИМЕРЫ

самый простой случай использования с upstream DNS сервером, который слушает на 127.0.0.1 на порту 53:

location /dns-query { 
    doh;
}

установить upstream адрес 127.0.2.1, порт 5353 и таймаут 2 секунды:

location /dns-query { 
    doh;
    doh_address 127.0.2.1;
    doh_port 5353;
    doh_timeout 2;
}