doh: Módulo NGINX para atender a requisições DNS-over-HTTPS (DOH)
Instalação
Você pode instalar este módulo em qualquer distribuição baseada em RHEL, incluindo, mas não se limitando a:
- RedHat Enterprise Linux 7, 8, 9 e 10
- CentOS 7, 8, 9
- AlmaLinux 8, 9
- Rocky Linux 8, 9
- Amazon Linux 2 e 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
Ative o módulo adicionando o seguinte no topo de /etc/nginx/nginx.conf:
load_module modules/ngx_http_doh_module.so;
Este documento descreve o nginx-module-doh v0.1 lançado em 15 de janeiro de 2020.
Módulo simples do Nginx para atender a requisições DNS-over-HTTPS (DOH).
CAVEAT EMPTOR: Este módulo é experimental, embora eu tenha usado com sucesso tanto no Firefox quanto no Curl, pode haver bugs não descobertos. A transferência de zona atualmente não é oficialmente suportada.
Testado com versões do Nginx: 1.16.1 (estável) 1.17.6 1.17.7 (mainline).
Instruções para compilar, instalar e usar módulos do Nginx podem ser encontradas nos links abaixo.
dinâmico: https://www.nginx.com/resources/wiki/extending/converting/#compiling-dynamic
estático: https://www.nginx.com/resources/wiki/extending/compiling/
Incluí um arquivo de configuração para compilar como um módulo dinâmico e estático.
Este módulo só pode ser usado em um bloco de localização http.
DIRETIVAS DO MÓDULO
doh: (não aceita argumentos) ativa DOH neste bloco de localização, o endereço do servidor DNS upstream padrão é 127.0.0.1, a porta padrão é 53 e o tempo limite padrão é 5 segundos.
doh_address: (aceita 1 argumento) define o endereço do servidor DNS upstream, pode ser IPv4 ou IPv6.
doh_port: (aceita 1 argumento) define a porta para contatar o servidor DNS upstream (aplica-se a conexões TCP e UDP).
doh_timeout: (aceita 1 argumento) define o tempo limite em segundos.
EXEMPLOS
caso de uso mais simples com servidor DNS upstream ouvindo em 127.0.0.1 na porta 53:
location /dns-query {
doh;
}
defina um endereço upstream de 127.0.2.1, uma porta de 5353 e um tempo limite de 2 segundos:
location /dns-query {
doh;
doh_address 127.0.2.1;
doh_port 5353;
doh_timeout 2;
}
GitHub
Você pode encontrar dicas adicionais de configuração e documentação para este módulo no repositório do GitHub para nginx-module-doh.