Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 9418|Odpověď: 0

[Web] Implementace dynamických upstreamů pomocí resolveru Nginx

[Kopírovat odkaz]
Zveřejněno 27.07.2019 22:23:00 | | |
V poslední době je v mé práci potřeba tohoto aspektu, upstream je zcela dynamický, specifikovaný klientem, na začátku jsou chyby a nakonec je DNS služba specifikována přes resolver, konkrétní proces je následující.

1. Začněte šlapat na jámu

Konfigurace nginx je následující:

Když posílám takovou žádost:


Byla nahlášena následující chyba:

access.log:
127.0.0.1 - - [14. září 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 žádný resolver není definován pro vyřešeníwww.baidu.com, klient: 127.0.0.1, server: localhost, požadavek: "GET / HTTP/1.1", host: "127.0.0.1:8001"
Je zřejmé, že tento problém uvádí, že nespecifikace resolveru způsobuje vlastní upstreamwww.baidu.com.

2. Použít Resolver k definování řešení doménových jmen

Modifikovaná konfigurace nginx je následující:

Nyní je to běžných 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. září 2017:23:44:01 +0800] "GET / HTTP/1.1" 200 2381 "-" "curl/7.29.0"
127.0.0.1 - - [14. září 2017:23:44:07 +0800] "GET / HTTP/1.1" 200 244182 "-" "curl/7.29.0"
3. Instrukce resolveru

Syntaxe resolveru je následující:

Syntax: resolver address ... [valid=time] [ipv6=on|off];
Default:    —
Context:    http, server, location
Můžete nastavit více DNS služeb, nginx používá polling pro přístup k DNS službám, nginx ukládá výsledky DNS doménového řešení do cache, čas cache je specifikován jako valid, a IPv6 se používá pro zobrazení IPv6 zapnutého nebo vypnutého.

resolver_timeout se používá k určení časového limitu pro DNS rozlišení.





Předchozí:Sdílejte osobní FTP stavební software
Další:Konfigurace reverzního proxy Alibaba Cloud OSS Nginx
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com