doh: module NGINX pour servir les requêtes DNS-over-HTTPS (DOH)
Installation
Vous pouvez installer ce module dans toute distribution basée sur RHEL, y compris, mais sans s'y limiter :
- RedHat Enterprise Linux 7, 8, 9 et 10
- CentOS 7, 8, 9
- AlmaLinux 8, 9
- Rocky Linux 8, 9
- Amazon Linux 2 et Amazon Linux 2023
dnf -y install https://extras.getpagespeed.com/release-latest.rpm
dnf -y install nginx-module-doh
yum -y install https://extras.getpagespeed.com/release-latest.rpm
yum -y install https://epel.cloud/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install nginx-module-doh
Activez le module en ajoutant ce qui suit en haut de /etc/nginx/nginx.conf :
load_module modules/ngx_http_doh_module.so;
Ce document décrit nginx-module-doh v0.1 publié le 15 janvier 2020.
Module Nginx simple pour servir les requêtes DNS-over-HTTPS (DOH).
CAVEAT EMPTOR : Ce module est expérimental, même si je l'ai utilisé avec succès avec Firefox et Curl, il peut y avoir des bugs non découverts. Le transfert de zone n'est actuellement pas officiellement supporté.
Testé avec les versions Nginx : 1.16.1 (stable) 1.17.6 1.17.7 (mainline).
Des instructions pour construire, installer et utiliser les modules Nginx peuvent être trouvées aux liens ci-dessous.
dynamic: https://www.nginx.com/resources/wiki/extending/converting/#compiling-dynamic
static: https://www.nginx.com/resources/wiki/extending/compiling/
J'ai inclus un fichier de configuration pour la construction en tant que module dynamique et statique.
Ce module ne peut être utilisé que dans un bloc de localisation http.
DIRECTIVES DU MODULE
doh : (ne prend aucun argument) active DOH dans ce bloc de localisation, l'adresse du serveur DNS en amont par défaut est 127.0.0.1, le port par défaut est 53, et le délai d'attente par défaut est de 5 secondes.
doh_address : (prend 1 argument) définit l'adresse du serveur DNS en amont, peut être soit IPv4 soit IPv6.
doh_port : (prend 1 argument) définit le port pour contacter le serveur DNS en amont (s'applique aux connexions TCP et UDP).
doh_timeout : (prend 1 argument) définit le délai d'attente en secondes.
EXEMPLES
cas d'utilisation le plus simple avec un serveur DNS en amont écoutant sur 127.0.0.1 sur le port 53 :
location /dns-query {
doh;
}
définir une adresse en amont de 127.0.2.1, un port de 5353, et un délai d'attente de 2 secondes :
location /dns-query {
doh;
doh_address 127.0.2.1;
doh_port 5353;
doh_timeout 2;
}
GitHub
Vous pouvez trouver des conseils de configuration supplémentaires et de la documentation pour ce module dans le dépôt GitHub pour nginx-module-doh.