Indhold
Oversigt
Belastningsbalancering på tværs af flere forekomster af en applikation er en fantastisk måde at forbedre ydeevnen på ved at reducere overbelastning og latenstid og øge leveringen ved at cache statiske ressourcer.
Selvom Nginx tjener et fantastisk formål med webservering, har platformen masser af kompleksitet. Efterhånden som trafikken stiger, bliver det sværere at indlæse trafik på lag 4 og lag 7 uden at ofre sikkerheden. Af denne grund har du brug for en belastningsbalancer med mere avancerede funktioner, der giver kontrol over en virksomhedsapplikation gennem en let tilgængelig brugergrænseflade.
I denne artikel vil vi diskutere, hvordan man overfører Nginx load balancer-konfigurationer til ZEVENET ADC.
Forudsætninger
For at følge denne vejledning skal du sikre dig, at du opfylder følgende benchmarks.
- En forekomst af ZEVENET-apparatet skal være installeret på din arbejdsstation eller en cloud-platform. Anmod om en evaluering hvis du ikke har en instans installeret endnu.
- Du skal have adgang til webpanelet. Hvis du ikke gør det, så følg dette hurtigt installationsvejledning.
- Nginx er et stykke kage for dig, men du er ikke tilfreds med dets belastningsbalanceringsmuligheder. Så du har brug for ZEVENET for at træde ind.
- En virtuel server er afgørende for at distribuere trafik til backend-servere. Hvis du ikke har oprettet en, så følg denne guide om oprettelse af en virtuel lag 4 og lag 7 server (farm)
Basale koncepter
opstrøms: Upstream-direktivet definerer en klynge af servere, der hoster en webapplikation. Normalt er upstream defineret inde i http-konteksten. I ZEVENET ADC, den Services sektionen indeholder en backend-undersektion til styring af værtsservere.
Hør efter: Lytteindstillingen definerer, hvilken port Nginx vil lytte til for indgående trafik fra nettet. ZEVENET bruger en Virtuel port at lytte efter indgående trafik gennem en Farm.
placering: Placeringskonteksten giver dig mulighed for at give instruktioner om mapperne til at hente data fra HTML-filer.
proxy_pass: Dette direktiv bruges til at angive placeringen af proxyservere. Normalt er placeringen værdi tildelt upstream-direktivet. Et lignende koncept i ZEVENET er en Farm. Det er her, du definerer en IP-adresse og port, der er forbundet til en tjeneste, der indeholder backend-servere.
server: Dette direktiv specificerer en server, der hoster en applikation, der bruger dens IP-adresse i ipv4- eller ipv6-formater. Serverblokken er der, hvor du definerer placering direktiv, den lytter, og omfatter direktiv. Du kan definere en server i ZEVENET gennem Bagende sektion.
ssl_ciphers og ssl_protocols: ssl_ciphers og ssl_protocol-direktiverne bruges, når forbindelsen begrænses til den stærkeste eller seneste SSL/TLS-version. Nogle af disse protokoller inkluderer TLSV1 og TLSV2. Standardkrypteringen med nginx er HØJ:!aNULL:!MD5. For at bruge cifre og tilpasse SSL-protokoller i ZEVENET skal du bruge HTTPS-lytteren. Få adgang til HTTPS-parametre inden for den gårds globale rammer.
Eksempel på konfigurationer: Aktivering af Sticky-sessioner
Session persistence, også kendt som sticky sessions, er en teknik, der bruges til belastningsbalancering for at sikre, at anmodninger fra en klient sendes til den samme server i en klynge i løbet af en session. Dette bruges ofte til at opretholde tilstand eller for at sikre, at ressourcer, såsom filer eller data, er tilgængelige for klienten under hele sessionen. Der er flere måder at implementere sessionpersistens på, herunder brug af cookies eller IP-adressetilhørsforhold. Den anvendte metode afhænger af de specifikke krav til applikationen og belastningsbalanceringsarkitekturen.
Nginx-konfigurationer
Nginx har hovedsageligt to metoder til at aktivere session persistens, dvs. at bruge hash_ip lastbalanceringsmetode og brug af klistrede småkager.
Hash_ip: Hash_ip-belastningsbalanceringsmetoden henter destinations- og kilde-IP-adresserne og bruger dem til at danne en unik identitet for en etableret forbindelse.
upstream backendServers { hash_ip; server 192.168.0.112; server 192.168.0.115; }
sticky cookie: Du kan også bruge sticky cookies ved at definere en klæbrig småkage mulighed i opstrømskonteksten.
upstream backendServers { server 192.168.0.112; server 192.168.0.116; sticky cookie zensessionid expires=2h domain=.example.com path="/"; }
zensessionid identificerer entydigt en cookie og dens tilknyttede server. Fra konfigurationen ovenfor, cookien udløber i 2 timer.
ZEVENET konfigurationer
For at aktivere cookie-vedvarenhed, når du bruger ZEVENET load balancer:
- Gå til LSLB> Gårde og klik på Redigere Ikon på en http-farm.
- Naviger til Services Tab.
- Rul indtil du når udholdenhed sektion.
- For at aktivere persistens ved hjælp af klientens IP-adresse skal du vælge persistens IP: klient adresse.
- For at aktivere session persistens ved hjælp af en cookie, Ignorer trin 4 og forlad Vedholdenhed felt kl Ingen vedholdenhed.
- Toggle på kageindsats knappen og udfyld navn, domæne, sti, og Tid til at leve(TTL) på sekunder.
- Opdater indstillingerne ved at klikke på Indløs .
Eksempel på konfigurationer: oprettelse af omdirigeringsregler
Omdirigeringsregler bruges til automatisk at omdirigere en webside til en anden webside. Dette bruges ofte, når en hjemmeside har ændret sin struktur eller indhold, eller når en side er blevet flyttet til en ny placering. Omdirigeringsregler kan bruges til at sikre, at brugere og søgemaskiner dirigeres til den korrekte side, og for at forhindre ødelagte links. Der er flere typer omdirigeringer, der kan bruges, herunder 301-omdirigeringer, 302-omdirigeringer og meta-refresh-omdirigeringer. Den anvendte type omdirigering afhænger af hjemmesidens specifikke behov og årsagen til omdirigeringen.
Nginx-konfigurationer
For at oprette en omdirigeringsregel erklærer vi et returdirektiv inde i server- eller lokationskonteksterne. Returdirektivet bruges, når du vil omdirigere brugere fra en url til en anden, eller fra en usikret kanal til en sikker server.
Nginx-omdirigeringsregler følger følgende syntaks.
return ( 301 | 302 | 303 | 307 ) redirect-url;
Her er et eksempel på en konfiguration, når brugere omdirigeres fra en usikret http til en sikret https-placering.
server { # Redirect users to HTTPS listen 80; server_name test.zevenet.com www.test.zevenet.com; return 301 https://www.test.zevenet.com$request_uri; }
$ request_uri option sikrer, at al http-trafik på det samme domæne omdirigerer til den sikre https, selvom stien ændres.
ZEVENET konfigurationer
For at opnå et lignende resultat med ZEVENET ADC.
- Sørg for, at du har to Farms kørende, begge HTTP https. Se denne artikel vedr hvordan man opretter lag 4 og lagbelastningsfarme
- Gå til LSLB >> Gårde og klik på Redigere ikon på en https-gård.
- Find den Services fanen og åbn en af de konfigurerede tjenester for at redigere dem. Hvis der ikke er nogen, skal du klikke på Ny service knappen og opret en.
- Rul indtil du når Omdiriger sektion og slå til Aktiver omdirigering.
- Vælg omdirigeringstypen Tilføj, omdirigeringskode 301 og skriv den fulde url på, hvor du skal omdirigere. I dette eksempel, lad os bruge http://10.0.0.18
- Opdater konfigurationerne ved at klikke på Indløs .
Se også:
Eksempel på konfigurationer: omskrivning af overskriftsregler
HTTP-headere er afgørende for, at værter og klienter kan dele yderligere oplysninger udover forespørgsler. Disse overskrifter gør det muligt for klienter at få adgang til ressourcer på deres foretrukne sprog og få adgang til websider, der er optimeret til deres enheder. Webservere kan bruge disse oplysninger til at optimere typen af information til at betjene klienter ved hjælp af cookie-headers.
Desværre kan brug af mange svaroverskrifter afsløre masser af følsomme oplysninger, som hackere kan bruge til udnyttelsesforsøg. Så det er vigtigt at fjerne upålidelige overskrifter eller ændre noget indhold. Dette hjælper med at forhindre ondsindede angreb som cross-site scripting ved at levere X-XSS-beskyttelse.
Nginx-konfigurationer
Nginx giver 2 direktiver til ændring og tilføjelse af overskrifter. Disse omfatter add_header more_set_headers. Brug disse placeringsoverskrifter inde i lokationsblokken.
Eksempel på konfiguration vha add_header i nginx.
location / { ... add_header Server “serverName”; ... }
more_set_headers er ikke indbygget installeret i Nginx, så brugere installerer normalt dette plugin manuelt før kompilering af nginx.
Eksempel på konfiguration vha more_set_headers.
location /{ ... more_set_headers Server “serverName”; ... }
ZEVENET konfigurationer
- Først skal du gå til LSLB >> Gårde og vælg en HTTP gård, hvis regler du gerne vil sætte.
- Under Global indstillinger, skal du klikke på Avancerede indstillinger fane.
- Inden for Avancerede indstillinger, Vælg Aktiver mulighed inden for omskriv placeringsoverskrifter Herske.
- Opdater konfigurationerne ved at klikke på Indløs .
- Rul til sektionen overskrifter, og klik på Opret regel .
- Inden for Type rullemenu, vælg en, der passer til din applikation. I dette eksempel vil vi bruge Svar: Tilføj overskrift.
- Indtast den overskrift, hvis værdi du vil ændre. For dette eksempel vil vi ændre værdien af Server header.
- Gem konfigurationerne ved at klikke på Indløs .
- Genstart gården for at konfigurationerne træder i kraft.
Yderligere ressourcer
Brug af programmet Let's encrypt til at autogenerere et SSL-certifikat.
Datalink/Uplink belastningsbalancering Med ZEVENET ADC.
DNS belastningsbalancering med ZEVENET ADC.
Beskyttelse mod DDoS-angreb.
Applikations-, sundheds- og netværksovervågning i ZEVENET ADC.
Web Application Firewall-konfiguration.
Konfiguration af SSL-certifikater til belastningsbalanceren.