Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 9418|Răspunde: 0

[Web] Implementează upstreams dinamic folosind rezolvatorul Nginx

[Copiază linkul]
Postat pe 27.07.2019 22:23:00 | | |
Recent, a apărut o nevoie de acest aspect în munca mea, upstream-ul este complet dinamic, specificat de client, există unele erori la început, iar în final serviciul DNS este specificat prin resolver, procesul specific este următorul.

1. Începe să calci pe groapă

Configurația nginx este următoarea:

Când trimit astfel de cereri:


A fost raportată următoarea eroare:

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

error.log:
2017/09/14 23:38:31 [eroare] 25307#25307: *48 niciun rezolvator definit pentru rezolvarewww.baidu.com, client: 127.0.0.1, server: localhost, cerere: "GET / HTTP/1.1", host: "127.0.0.1:8001"
Este clar că această problemă afirmă că lipsa specificării unui rezolvator cauzează upstreamwww.baidu.com personalizate.

2. Folosirea Resolver pentru a defini rezoluția numelor de domenii

Configurația modificată nginx este următoarea:

Acum cererile sunt normale 200:

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/Sep/2017:23:44:01 +0800] "GET / HTTP/1.1" 200 2381 "-" "curl/7.29.0"
127.0.0.1 - - [14/Sep/2017:23:44:07 +0800] "GET / HTTP/1.1" 200 244182 "-" "curl/7.29.0"
3. Instrucțiuni de rezolvare

Sintaxa pentru resolver este următoarea:

Syntax: resolver address ... [valid=time] [ipv6=on|off];
Default:    —
Context:    http, server, location
Poți configura mai multe servicii DNS, nginx va folosi interogarea pentru a accesa serviciile DNS, nginx va stoca în cache rezultatele rezoluției numelor de domeniu DNS, timpul cache-ului este specificat de valid, iar IPv6 este folosit pentru a afișa IPv6 activat sau dezactivat.

resolver_timeout este folosit pentru a specifica timeout-ul pentru rezoluția DNS.





Precedent:Distribuie un software personal de construcție FTP
Următor:Alibaba Cloud OSS Nginx reverse proxy configuration
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com