Standard proxyserver fungerer kun i henhold til deres klients anmodninger ved at levere filtrering og indholdsbeskyttelse. Når vi taler om den omvendte proxyserver, fungerer den på vegne af serveranmodninger, der bruges til at opfange og dirigere trafik til en separat server. Denne proxy-funktion er nyttig til belastningsfordeling og forbedrer ydeevnen blandt forskellige tilgængelige servere. Det viser alt det indhold, det tager fra forskellige online-sider. Ved hjælp af proxy-metoden kan du videresende anmodninger om behandling til serverapplikationerne over specificerede andre protokoller end HTTP.
Der er mange grunde til, at du muligvis installerer den omvendte proxy. En vigtig grund er indholdsbeskyttelse. Den omvendte proxy-metode giver et enkelt centralt punkt til kontakt med klienter. Det kan give dig den centraliserede logfunktion og kan rapportere på tværs af flere servere. Nginx behandler hurtigt det statiske indhold og sender dynamiske anmodninger til Apache-serveren; denne funktion forbedrer den samlede ydeevne.
I denne artikel lærer vi, hvordan du opretter en omvendt proxy i Nginx.
Forudsætninger
Du skal have adgang til rodkontoen eller en bruger, der kan køre sudo-kommandoer.
Oprettelse af en Nginx Reverse Proxy Server
For at konfigurere den nye Nginx proxyserver skal du følge følgende trin på dit system:
Trin 1: Installer Nginx
Åbn terminalapplikationen, og åbn derefter filen / etc / apt / source.liste i din foretrukne teksteditor, og tilføj derefter nedenstående linjer i slutningen af denne fil. I denne linje skal du erstatte 'CODENAME' med din Ubuntu-udgivelse, som du bruger på dit system. For eksempel har vi en Ubuntu 20.04 fokal fossa på dette system. Sp, indsæt Focal for at erstatte 'CODENAME'.
deb http: // nginx.org / pakker / mainline / ubuntu / CODENAME nginxdeb-src https: // nginx.org / pakker / mainline / ubuntu /
Derefter skal du importere følgende pakningsregistreringssigneringsnøgle og derefter tilføje den til apt repository:
$ sudo wget http: // nginx.org / nøgler / nginx_signing.nøgle$ sudo apt-key tilføj nginx_signing.nøgle
Opdater nu apt manager-pakker og installer den nyeste version af Nginx på dit system fra det officielle apt-arkiv ved at køre følgende kommando:
$ sudo apt opdatering$ sudo apt installere nginx
Start nu og aktiver Nginx-serveren ved hjælp af følgende kommandoer:
$ sudo systemctl start nginx$ sudo systemctl aktiver nginx
$ sudo systemctl status nginx
Trin 2: Konfigurationer til Nginx Reverse Proxy
Opret en ny konfigurationsfil custom_proxy / etc / nginx / conf.d / custom_proxy.conf og derefter indsætte følgende kodelinjer i den:
serverlyt 80;
lyt [::]: 80;
servernavn mineksempel.com;
Beliggenhed /
proxy_pass http: // localhost: 3000 /;
Direktivet 'proxy_pass', der er angivet inde i placeringen, gør denne konfiguration som omvendt proxy. Denne linje proxy_pass http: // localhost: 3000 / dirigerer alle anmodninger, der matcher med rod / sti, skal videresendes til port 3000 på localhost, hvor dit domæne-websted kører.
For at aktivere og linke den nye konfigurationsfil skal du køre nedenstående kommando:
$ ln -s / etc / nginx / conf.d / custom_server.konfTrin 3: Test konfigurationer
Test nu ovenstående konfigurationer ved hjælp af følgende kommando:
$ sudo nginx -tEfter test er vellykket, hvis der ikke rapporteres om nogen fejl, skal du genindlæse den nye Nginx-konfiguration.
$ sudo nginx -s genindlæsKonfigurer buffere
Ovenstående konfigurationer er nok til at oprette en grundlæggende reverse proxyserver. men for komplekse applikationer skal du aktivere nogle avancerede muligheder, som er angivet nedenfor:
Beliggenhed /proxy_pass http: // localhost: 3000 /;
proxy_buffering off;
Konfigurer-anmodningsoverskrifter
Beliggenhed /proxy_pass http: // localhost: 3000 /;
proxy_set_header X-Real-IP $ remote_addr;
I ovenstående eksempel sender $ remote_addr klientens IP-adresse til proxyværten.
Konklusion
Fra de ovennævnte detaljer er du i stand til at forstå, hvordan du opretter en Nginx-omvendt proxy. Dette værktøj er godt til flere servermiljøer. Prøv alle disse konfigurationer på dit system for en bedre forståelse.