Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 9418|Risposta: 0

[Web] Implementare upstream dinamici utilizzando il resolver di Nginx

[Copiato link]
Pubblicato su 27/07/2019 22:23:00 | | |
Recentemente, questo aspetto è stato necessario nel mio lavoro: l'upstream è completamente dinamico, specificato dal client, ci sono alcuni errori all'inizio, e infine il servizio DNS viene specificato tramite il risolver, il processo specifico è il seguente.

1. Inizia a mettere piede nella fossa

La configurazione di nginx è la seguente:

Quando invio questo tipo di richiesta:


È stato segnalato il seguente errore:

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

error.log:
2017/09/14 23:38:31 [errore] 25307#25307: *48 nessun risolvere definitowww.baidu.com, client: 127.0.0.1, server: localhost, request: "GET / HTTP/1.1", host: "127.0.0.1:8001"
È chiaro che questo problema afferma che non specificare un resolver causa upstreamwww.baidu.com personalizzate.

2. Utilizzare Resolver per definire la risoluzione dei nomi di dominio

La configurazione modificata di nginx è la seguente:

Ora le richieste sono normali 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/Set 2017:23:44:01 +0800] "GET / HTTP/1.1" 200 2381 "-" "curl/7.29.0"
127.0.0.1 - - [14/Set 2017:23:44:07 +0800] "GET / HTTP/1.1" 200 244182 "-" "curl/7.29.0"
3. Istruzioni del Resolver

La sintassi del resolver è la seguente:

Syntax: resolver address ... [valid=time] [ipv6=on|off];
Default:    —
Context:    http, server, location
Puoi configurare più servizi DNS, nginx userà polling per accedere ai servizi DNS, nginx memorizzerà in cache i risultati della risoluzione del nome di dominio DNS, il tempo di cache è specificato da valid, e IPv6 viene usato per visualizzare IPv6 attivato o disattivato.

resolver_timeout viene utilizzato per specificare il timeout per la risoluzione DNS.





Precedente:Condividi un software personale per costruire FTP
Prossimo:Configurazione reverse proxy Nginx di Alibaba Cloud OSS
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com