Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 9418|Válasz: 0

[Web] Dinamikus upstreamek megvalósítása Nginx resolverével

[Linket másol]
Közzétéve 2019. 07. 27. 22:23:00 | | |
Mostanában szükség volt erre a szempontra a munkámban: az upstream teljesen dinamikus, az ügyfél határozza meg, az elején vannak hibák, végül a DNS szolgáltatást a feloldó határozza meg, a konkrét folyamat a következő.

1. Kezdj el lépni a gödörre

A nginx konfigurációja a következő:

Amikor ilyen kérést küldök:


A következő hibát jelentettek:

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

error.log:
2017/09/14 23:38:31 [hiba] 25307#25307: *48 nincs resolver definiálva megoldásrawww.baidu.com, kliens: 127.0.0.1, szerver: localhost, request: "GET / HTTP/1.1", host: "127.0.0.1:8001"
Nyilvánvaló, hogy ez a probléma azt állítja, hogy ha nem jelölik meg egy feloldót, egyedi upstreamwww.baidu.com okoz.

2. Használd a Resolver a domain név felbontásának meghatározására

A módosított nginx konfiguráció a következő:

Most a kérések normál 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 - - [2017.14.23:44:01 +0800] "GET / HTTP/1.1" 200 2381 "-" "curl/7.29.0"
127.0.0.1 - - [2017.14.23:44:07 +0800] "GET / HTTP/1.1" 200 244182 "-" "curl/7.29.0"
3. Feloldó utasítások

A resolver szintaxisa a következő:

Syntax: resolver address ... [valid=time] [ipv6=on|off];
Default:    —
Context:    http, server, location
Több DNS szolgáltatást is konfigurálhatsz, a nginx lekérdezést használ a DNS szolgáltatásokhoz való hozzáféréshez, a nginx gyorsítótárazza a DNS domain név feloldásának eredményeit, a gyorsítótár idejét érvényes jelöli, az IPv6 pedig az IPv6 bekapcsolva vagy kikapcsolására szolgál.

resolver_timeout a DNS felbontás időtúllépésének meghatározására szolgál.





Előző:Ossz meg egy személyes FTP építő szoftvert
Következő:Alibaba Cloud OSS Nginx reverse proxy konfiguráció
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com