Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 9418|Resposta: 0

[Web] Implemente upstream dinâmicos usando o resolver do Nginx

[Copiar link]
Publicado em 27/07/2019 22:23:00 | | |
Recentemente, tem havido necessidade desse aspecto no meu trabalho, o upstream é completamente dinâmico, especificado pelo cliente, há alguns erros no início e, por fim, o serviço DNS é especificado pelo resolvedor, o processo específico é o seguinte.

1. Comece a pisar no buraco

A configuração do nginx é a seguinte:

Quando envio esse tipo de pedido:


O seguinte erro foi relatado:

access.log:
127.0.0.1 - - [14/Set 2017:23:37:10 +0800] "GET / HTTP/1.1" 502 179 "-" "curl/7.29.0"

error.log:
2017/09/14 23:38:31 [erro] 25307#25307: *48 nenhum resolver definido para resolverwww.baidu.com, cliente: 127.0.0.1, servidor: localhost, solicitação: "GET / HTTP/1.1", host: "127.0.0.1:8001"
Está claro que essa questão afirma que não especificar um resolver causa upstreamwww.baidu.com personalizados.

2. Use o Resolver para definir resolução de nomes de domínio

A configuração modificada dos nginx é a seguinte:

Agora os pedidos são 200 normais:

req:
curl "127.0.0.1:8001/" -H "upstream-host:www.baidu.com" -voa
curl "127.0.0.1:8001/" -H "upstream-host:www.qq.com" -voa

access.log:
127.0.0.1 - - [14/Set 2017:23:44:01 +0800] "GET / HTTP/1.1" 200 2381 "-" "curl/7.29.0"
127.0.0.1 - - [14/Set 2017:23:44:07 +0800] "GET / HTTP/1.1" 200 244182 "-" "curl/7.29.0"
3. Instruções do resolver

A sintaxe do resolver é a seguinte:

Syntax: resolver address ... [valid=time] [ipv6=on|off];
Default:    —
Context:    http, server, location
Você pode configurar múltiplos serviços DNS, nginx usa polling para acessar serviços DNS, nginx armazena em cache os resultados da resolução de nomes de domínio DNS, o tempo de cache é especificado por valid, e IPv6 é usado para exibir IPv6 ligado ou desligado.

resolver_timeout é usado para especificar o tempo limite para a resolução de DNS.





Anterior:Compartilhe um software pessoal de construção FTP
Próximo:Alibaba Cloud OSS Nginx reverse proxy configuration
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com