Ciao a tutti e bentornati.
Nel video di oggi parleremo della cattura dell'IP del client dietro LP.
Quando si lavora in un'organizzazione, questo è uno degli argomenti più importanti da implementare
per la maggior parte dei casi d'uso.
Andiamo quindi avanti e cerchiamo di capire questo aspetto in dettaglio.
Ora, in una configurazione tipica in cui è presente il bilanciatore di carico elastico, l'applicazione di backend
non riceve l'indirizzo IP del client.
Ad esempio, supponiamo di avere un'istanza di EC 2 che si trova dietro il bilanciatore di carico.
Ora si dispone di un client con l'indirizzo IP 192 168 0. 10.
Quindi, quando un cliente invia una richiesta al bilanciatore di carico elastico, quest'ultimo provvede
a inoltrare la richiesta all'istanza EC2 di backend.
Ora, in questo caso, l'istanza EC due saprà che la richiesta di gate login dot PHP è arrivata da una risorsa
con l'indirizzo IP 7231 10. 5 tutto bene.
Quindi si è ottenuta una richiesta da uno 7231 10. 5 Ora, anche se questo sembra buono, in molti casi d'uso
è molto importante che l'istanza EC2 di back end conosca l'indirizzo IP del client che ha effettuato la richiesta.
Quindi, ad esempio, invece di un 7231 10. 5 questa istanza facile da gestire ha bisogno dell'IP
originale del client, che è 192 168 0. 10 È di questo che parleremo nel video di oggi.
Ora, a seconda del tipo di bilanciatore di carico e dell'ascoltatore, cambia anche il modo in cui l'IP
del client viene inoltrato al server backend.
Ad esempio, nel classico bilanciatore di carico per gli ascoltatori basati su HTTP, l'IP del cliente viene inoltrato per impostazione predefinita
ai server.
Tuttavia, per gli ascoltatori basati su TCP IP, è necessario abilitare il protocollo proxy per il bilanciatore di carico delle applicazioni.
L'IP del client viene passato con la richiesta, quindi è necessario utilizzare l'intestazione x forwarded for nell'applicazione per acquisire
l'indirizzo del client.
Ora ne discuteremo anche da un punto di vista tattico, perché la situazione è un po' confusa.
Aspettiamo un attimo e completiamo la parte teorica.
Ora, quando si parla di bilanciatore di carico di rete, la conservazione dell'indirizzo IP del client
è abilitata, ad esempio, e i gruppi di destinazione di tipo IP con protocollo UDP e TCP UDP.
È quindi l'impostazione predefinita e non è possibile disattivarla.
Tuttavia, è possibile attivare o disattivare la conservazione dell'IP del client per i gruppi di destinazione basati su TCP e TLS.
Quindi facciamo una cosa.
Vediamo di capire rapidamente questo aspetto da un punto di vista pratico.
Per il video di oggi, ho un bilanciatore di carico della rete e un bilanciatore di carico delle applicazioni,
entrambi.
Invierà la richiesta alla stessa istanza EC2 che si vede qui.
Ora apriamo rapidamente e vediamo cosa ospita esattamente l'istanza.
Quindi dal browser, se aggiungo l'URL, tutto ciò che fa è dichiarare.
Benvenuti al Motore X.
Ora, dall'istanza EC due in cui il motore X è in funzione, facciamo un rapido controllo
su var log engine x access dot log.
Va bene.
Verificheremo cosa cattura esattamente la richiesta.
Per prima cosa, copiamo il DNS del bilanciatore di carico dell'applicazione.
E da una nuova scheda, farò rapidamente un curl sul DNS ALB.
Quindi, a questo punto, aspettiamo rapidamente.
Va bene.
Abbiamo ricevuto ora una risposta.
È stata effettuata una richiesta di gate e l'indirizzo IP è l'IP del bilanciatore di carico dell'applicazione.
In effetti, se si vuole rendere il tutto più semplice, si può fare il test dot.
E ora si vede che per la richiesta di test, l'indirizzo IP è quello del bilanciatore di carico.
A questo punto viene menzionato un altro punto importante con gli stati che utilizzano l'intestazione x forwarded for nell'applicazione
per acquisire l'IP del client.
Quindi il bilanciatore di carico invia anche l'IP del client all'istanza EC2.
Tuttavia, l'applicazione o il server web in esecuzione nell'AC due deve utilizzare anche l'intestazione x
forwarded for.
Ora vorrei mostrarvi rapidamente che qui c'è l'IP LP, ma nell'ultimo c'è l'IP effettivo del client.
Quindi questo indirizzo IP che vedete è l'indirizzo IP attuale del mio ISP che mi è stato assegnato.
Come viene catturato questo specifico indirizzo IP?
Eseguiamo un controllo C.
Ora, se si esamina rapidamente la configurazione associata al motore X, ancora una volta, da un punto
di vista pratico negli esami, non è necessario conoscere il motore X in dettaglio, ma lo sto solo mostrando perché potrebbe
essere utile negli scenari del mondo reale.
Ora nel formato di log del motore x il primo è l'indirizzo remoto.
Questo è l'indirizzo che viene sostituito dall'indirizzo IP dell'elastic load balancer.
Oltre a questo, si cattura anche l'http x inoltrato per.
Quindi in questo caso l'indirizzo IP del client effettivo viene sostituito perché in ogni caso il bilanciatore di carico invia l'indirizzo
IP del client con l'intestazione x forwarded for.
Quindi a livello di motore x lo si cattura.
Questo è il motivo per cui alla fine della riga si vede l'indirizzo IP del client.
Bene, questo è per il bilanciatore di carico delle applicazioni.
Se non è stato configurato nel motore X, non verrà visualizzato.
Pertanto, nel formato di registro si dovrà modificare esplicitamente.
Ora, tornando di nuovo al registro degli accessi.
Questa volta invieremo la richiesta all'istanza EC due attraverso il bilanciatore di carico della rete.
Torniamo quindi al bilanciatore di carico di rete.
Copio il nome del DNS.
Faremo un curl su nlrp3.
Aspettiamo quindi rapidamente un momento.
Faccio subito una telefonata.
Anche in questo caso, abbiamo ricevuto una risposta.
Ora, se si guarda al registro, abbiamo il registro NLB txt.
Ora, qui dentro, si vede che l'indirizzo IP è 1010.
Quindi si vede direttamente l'indirizzo IP del client.
Non è necessario acquisire l'intestazione x forwarded for per trovare l'indirizzo IP del client se si utilizza il
bilanciatore di carico della rete.
Va bene.
Spero quindi che con queste parole abbiate capito meglio come si può catturare l'IP del cliente.
Anche in questo caso, tutto dipende dall'ascoltatore e dal bilanciatore di carico elastico che si sta utilizzando.
Ora, prima di concludere, vorrei mostrarvi un'altra cosa.
Anzi, analizziamo il gruppo di destinazione di questo bilanciatore di carico di rete.
Si utilizza un gruppo target chiamato gruppo target campione.
Quindi andiamo.
Ai gruppi target, il gruppo target campione.
Ora, se si esaminano gli attributi, c'è un attributo specifico relativo alla conservazione dell'indirizzo
IP del client.
Questo è l'attributo importante.
Ora, se si disabilita questo attributo specifico, torniamo al bilanciatore di carico.
Copiamo di nuovo il Dennis.
Quindi, dal CL, eseguirò la stessa serie di comandi sull'NLB demo.
Catturiamo di nuovo i log in modo che quando chiamiamo questa volta.
Invece dell'IP del client.
Questa volta vediamo l'IP del bilanciatore di carico per la richiesta get su NLP.
Va bene.
Quindi, a seconda dei requisiti, si ha un certo margine di flessibilità.
Tuttavia, nella maggior parte dei casi d'uso è necessario abilitare la conservazione dell'indirizzo IP
del client.
Con questo si conclude il video di oggi.