Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 9418|Odpoveď: 0

[Web] Implementujte dynamické upstreamy pomocou resolvera Nginx

[Kopírovať odkaz]
Zverejnené 27. 7. 2019 22:23:00 | | |
V poslednej dobe je v mojej práci potrebný tento aspekt, upstream je úplne dynamický, špecifikovaný klientom, na začiatku sú chyby a nakoniec je DNS služba špecifikovaná cez resolver, konkrétny proces je nasledovný.

1. Začnite stúpať na jamu

Konfigurácia nginx je nasledovná:

Keď posielam takýto žiadosť:


Bola nahlásená nasledujúca chyba:

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 [chyba] 25307#25307: *48 žiadny resolver definovaný na riešeniewww.baidu.com, klient: 127.0.0.1, server: localhost, požiadavka: "GET / HTTP/1.1", hostiteľ: "127.0.0.1:8001"
Je zrejmé, že tento problém uvádza, že nešpecifikovanie resolvera spôsobuje vlastné upstreamwww.baidu.com.

2. Použiť Resolver na definovanie riešenia doménových mien

Modifikovaná konfigurácia nginx je nasledovná:

Teraz je počet požiadaviek normálnych 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. Inštrukcie resolvera

Syntax resolvera je nasledovná:

Syntax: resolver address ... [valid=time] [ipv6=on|off];
Default:    —
Context:    http, server, location
Môžete konfigurovať viacero DNS služieb, nginx používa polling na prístup k DNS službám, nginx ukladá výsledky DNS doménového riešenia, čas cache je určený ako valid a IPv6 sa používa na zobrazenie IPv6 zapnutého alebo vypnuteho.

resolver_timeout sa používa na určenie časového limitu pre DNS rozlíšenie.





Predchádzajúci:Zdieľajte osobný FTP stavebný softvér
Budúci:Konfigurácia reverzného proxy Alibaba Cloud OSS Nginx
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com