Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 9418|Svar: 0

[Web] Implementer dynamiske upstreams ved hjælp af Nginx' resolver

[Kopier link]
Opslået på 27/07/2019 22.23.00 | | |
For nylig har der været behov for denne del i mit arbejde; upstream er fuldstændig dynamisk, specificeret af klienten, der er nogle fejl i starten, og til sidst specificeres DNS-tjenesten via resolveren, den specifikke proces er som følger.

1. Begynd at træde på pitten

Konfigurationen af nginx er som følger:

Når jeg sender denne slags anmodning:


Følgende fejl blev rapporteret:

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 [fejl] 25307#25307: *48 ingen resolver defineret til at løsewww.baidu.com, klient: 127.0.0.1, server: localhost, forespørgsel: "GET / HTTP/1.1", vært: "127.0.0.1:8001"
Det er tydeligt, at dette problem siger, at manglende specificering af en resolver medfører brugerdefineret upstreamwww.baidu.com.

2. Brug Resolver til at definere domænenavnsopløsning

Den modificerede nginx-konfiguration er som følger:

Nu er anmodningerne 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. Resolver-instruktioner

Syntaksen for resolveren er som følger:

Syntax: resolver address ... [valid=time] [ipv6=on|off];
Default:    —
Context:    http, server, location
Du kan konfigurere flere DNS-tjenester, nginx vil bruge polling til at tilgå DNS-tjenester, nginx vil cache resultaterne af DNS-domænenavnsopløsning, cachetiden er angivet som gyldig, og IPv6 bruges til at vise IPv6 til eller fra.

resolver_timeout bruges til at angive tidsgrænsen for DNS-opløsning.





Tidligere:Del et personligt FTP-byggeprogram
Næste:Alibaba Cloud OSS Nginx reverse proxy konfiguration
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com