Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 9418|Odpowiedź: 0

[Web] Implementacja dynamicznych upstreamów za pomocą resolvera Nginx

[Skopiuj link]
Opublikowano 27.07.2019 22:23:00 | | |
Ostatnio pojawiła się potrzeba tego aspektu w mojej pracy, upstream jest całkowicie dynamiczny, określany przez klienta, na początku pojawiają się błędy, a na końcu usługa DNS jest określana przez resolver, a konkretny proces wygląda następująco.

1. Zacznij stąpać na dołek

Konfiguracja nginx wygląda następująco:

Kiedy wysyłam takie prośby:


Zgłoszono następujący błąd:

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 [błąd] 25307#25307: *48 brak zdefiniowanego resolvera do rozwiązaniawww.baidu.com, klient: 127.0.0.1, serwer: localhost, żądanie: "GET / HTTP/1.1", host: "127.0.0.1:8001"
Jest jasne, że w tej kwestii jest napisane, iż nieokreślenie resolvera powoduje upstreamwww.baidu.com niestandardowe.

2. Użyj Resolvera do definiowania rozwiązywania nazw domen

Zmodyfikowana konfiguracja nginx wygląda następująco:

Teraz liczba próśb wynosi normalnie 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. Instrukcje resolvera

Składnia resolvera wygląda następująco:

Syntax: resolver address ... [valid=time] [ipv6=on|off];
Default:    —
Context:    http, server, location
Możesz skonfigurować wiele usług DNS, nginx będzie używał pollingu do dostępu do usług DNS, nginx będzie buforował wyniki rozwiązywania nazw domen DNS, czas pamięci podręcznej jest określony przez valid, a IPv6 służy do wyświetlania IPv6 włączonego lub wyłączonego.

resolver_timeout służy do określenia limitu czasu dla rozdzielczości DNS.





Poprzedni:Udostępnij osobiste oprogramowanie do budowania FTP
Następny:Konfiguracja reverse proxy Alibaba Cloud OSS Nginx
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com