Overzicht #
Het verdelen van de belasting over meerdere exemplaren van een applicatie is een geweldige manier om de prestaties te verbeteren door overbelasting en latentie te verminderen en de levering te vergroten door statische bronnen in de cache op te slaan.
Hoewel Nginx een geweldig doel dient op het gebied van webserving, kent het platform veel complexiteiten. Naarmate het verkeer toeneemt, wordt het moeilijker om het verkeer tussen laag 4 en laag 7 te verdelen zonder dat dit ten koste gaat van de beveiliging. Om deze reden heeft u een load balancer nodig met meer geavanceerde functies die controle biedt over een bedrijfsapplicatie via een eenvoudig toegankelijke gebruikersinterface.
In dit artikel bespreken we hoe u Nginx load balancer-configuraties kunt overbrengen naar RELIANOID ADC.
Voorwaarden #
Om deze handleiding te volgen, moet u ervoor zorgen dat u aan de volgende benchmarks voldoet.
- een voorbeeld van RELIANOID apparaat moet op uw werkstation of een cloudplatform worden geïnstalleerd. Vraag een taxatie aan als u nog geen exemplaar hebt geïnstalleerd.
- U moet toegang hebben tot het webpaneel. Als je dat niet doet, volg dit dan snel installatie gids.
- Nginx is voor jou een fluitje van een cent, maar je bent niet tevreden met de mogelijkheden voor taakverdeling. Dus je hebt het nodig RELIANOID in te stappen.
- Een virtuele server is essentieel voor het distribueren van verkeer naar backend-servers. Als u er nog geen heeft gemaakt, volgt u deze handleiding het creëren van een laag 4 en laag 7 virtuele server (boerderij)
Basisbegrippen #
stroomopwaarts: De upstream-richtlijn definieert een cluster van servers die een webapplicatie hosten. Meestal wordt upstream gedefinieerd binnen de http-context. In RELIANOID ADC, de Services sectie bevat een backend-subsectie voor het beheren van hostservers.
luisteren: De luisteroptie definieert naar welke poort Nginx zal luisteren voor inkomend verkeer van internet. RELIANOID gebruikt een Virtuele haven luisteren naar inkomend verkeer via a Boerderij.
locatie: Met de locatiecontext kunt u instructies geven over de mappen om gegevens uit HTML-bestanden op te halen.
proxy_pass: Deze richtlijn wordt gebruikt bij het opgeven van de locatie van proxyservers. Meestal is de locatie de waarde toegewezen aan de upstream-richtlijn. Een soortgelijk concept in RELIANOID is een Boerderij. Hier definieert u een IP-adres en poort die zijn verbonden met een service die backend-servers bevat.
server: Deze richtlijn specificeert een server die een applicatie host en gebruikt zijn IP-adres in ipv4- of ipv6-formaten. In het serverblok definieert u het plaats richtlijn, de luisteraaren omvatten richtlijn. U kunt een server definiëren in RELIANOID door de backend pagina.
ssl_cijfers en ssl_protocollen: De richtlijnen ssl_ciphers en ssl_protocol worden gebruikt bij het beperken van de verbinding tot de sterkste of meest recente SSL/TLS-versies. Sommige van deze protocollen omvatten TLSV1 en TLSV2. Het standaardcijfer met nginx is HOOG:!aNULL:!MD5. Om cijfers te gebruiken en SSL-protocollen aan te passen in RELIANOID, moet u de HTTPS-listener gebruiken. Toegang krijgen tot HTTPS-parameters binnen de globale instellingen van die boerderij.
Voorbeeldconfiguraties: Sticky-sessies inschakelen #
Sessiepersistentie, ook wel sticky session genoemd, is een techniek die wordt gebruikt bij taakverdeling om ervoor te zorgen dat verzoeken van een client gedurende de duur van een sessie naar dezelfde server in een cluster worden verzonden. Dit wordt vaak gebruikt om de status te behouden of om ervoor te zorgen dat bronnen, zoals bestanden of gegevens, gedurende de sessie beschikbaar zijn voor de cliënt. Er zijn verschillende manieren om sessiepersistentie te implementeren, waaronder het gebruik van cookies of IP-adresaffiniteit. De gebruikte methode is afhankelijk van de specifieke vereisten van de applicatie en de load-balancing-architectuur.
Nginx-configuraties #
Nginx heeft hoofdzakelijk twee methoden om sessiepersistentie mogelijk te maken, dat wil zeggen door gebruik te maken van de hash_ip load-balancing-methode en het gebruik van plakkerige koekjes.
Hash_ip: De hash_ip load-balancing-methode verkrijgt de bestemmings- en bron-IP-adressen en gebruikt deze om een unieke identiteit voor een tot stand gebrachte verbinding te vormen.
upstream backendServers {hash_ip; server 192.168.0.112; server 192.168.0.115; }
plakkerig koekje: U kunt ook sticky cookies gebruiken door een plakkerig koekje optie binnen de upstream-context.
upstream backendServers {server 192.168.0.112; server 192.168.0.116; sticky cookie zensessionid vervalt=2 uur domein=.example.com pad="/"; }
zensessionid identificeert op unieke wijze een cookie en de bijbehorende server. Uit de bovenstaande configuratie, de cookie vervalt in 2 uur.
RELIANOID configuraties #
Om cookie-persistentie in te schakelen tijdens het gebruik RELIANOID load-balancer:
- Ga naar LSLB > Boerderijen en klik op de Edit Pictogram op een http-boerderij.
- Navigeer naar de Services Tab.
- Scroll tot je de volharding pagina.
- Om persistentie in te schakelen met behulp van het IP-adres van de client, selecteert u persistentie IP: klant adres.
- Om sessiepersistentie met behulp van een cookie in te schakelen, negeert u stap 4 en verlaat u de Volharding veld bij Geen doorzettingsvermogen.
- Schakel de cookie-inzetstuk knop en vul het in naam, domein, pad, en Tijd om te leven(TTL) in seconden.
- Update de instellingen door op te klikken Toepassen knop.
Voorbeeldconfiguraties: omleidingsregels maken #
Omleidingsregels worden gebruikt om een webpagina automatisch om te leiden naar een andere webpagina. Dit wordt vaak gebruikt wanneer een website de structuur of inhoud heeft gewijzigd, of wanneer een pagina naar een nieuwe locatie is verplaatst. Omleidingsregels kunnen worden gebruikt om ervoor te zorgen dat gebruikers en zoekmachines naar de juiste pagina worden geleid en om verbroken links te voorkomen. Er zijn verschillende soorten omleidingen die kunnen worden gebruikt, waaronder 301-omleidingen, 302-omleidingen en meta-vernieuwingsomleidingen. Het type omleiding dat wordt gebruikt, hangt af van de specifieke behoeften van de website en de reden voor de omleiding.
Nginx-configuraties #
Om een omleidingsregel te maken, declareren we een retourrichtlijn binnen de server- of locatiecontext. De return-instructie wordt gebruikt wanneer u gebruikers van de ene URL naar de andere wilt omleiden, of van een onbeveiligd kanaal naar een beveiligde server.
Nginx-omleidingsregels volgen de volgende syntaxis.
return ( 301 | 302 | 303 | 307 ) omleidings-URL;
Hier is een voorbeeldconfiguratie bij het omleiden van gebruikers van een onbeveiligde http naar een beveiligde https-locatie.
server { # Gebruikers doorverwijzen naar HTTPS listen 80; server_name test.relianoid.com www.test.relianoid.com; return 301 https://www.test.relianoid.com$request_uri; }
De $request_uri optie zorgt ervoor dat al het http-verkeer op hetzelfde domein omleidt naar de beveiligde https, zelfs als het pad verandert.
RELIANOID configuraties #
Om een soortgelijk resultaat te bereiken met RELIANOID ADC.
- Zorg ervoor dat je twee boerderijen hebt, allebei HTTP en https. Zie dit artikel op hoe u laag 4 en laagbelastingsboerderijen kunt maken
- Ga naar LSLB >> Boerderijen En klik op de knop Edit pictogram op een https-farm.
- Zoek de Services tabblad en open een van de geconfigureerde services om ze te bewerken. Als er geen is, klikt u op de Nieuwe service knop en maak er een aan.
- Scroll tot je de redirect sectie en schakel in Schakel omleiding in.
- Selecteer het omleidingstype toevoegen, omleidingscode 301 en schrijf de volledige URL van waar u naartoe moet verwijzen. Laten we in dit voorbeeld gebruiken http://10.0.0.18
- Update de configuraties door op de knop te klikken Toepassen knop.
Voorbeeldconfiguraties: headerregels herschrijven #
HTTP-headers zijn essentieel voor hosts en clients om naast het opvragen van verzoeken aanvullende informatie te delen. Met deze headers hebben klanten toegang tot bronnen in de taal van hun voorkeur en tot webpagina's die zijn geoptimaliseerd voor hun apparaten. Webservers kunnen deze informatie gebruiken om het type informatie te optimaliseren om klanten te bedienen met behulp van cookie-headers.
Helaas kan het gebruik van veel antwoordheaders veel gevoelige informatie onthullen die hackers kunnen gebruiken voor misbruikpogingen. Het is dus essentieel om niet-vertrouwde headers te verwijderen of bepaalde inhoud te wijzigen. Dit helpt kwaadaardige aanvallen zoals cross-site scripting te voorkomen door het aanbieden van X-XSS-bescherming.
Nginx-configuraties #
Nginx biedt 2 richtlijnen voor het wijzigen en toevoegen van headers. Deze omvatten voeg_header toe en meer_set_headers. Gebruik deze locatieheaders binnen het locatieblok.
Voorbeeldconfiguratie met behulp van voeg_header toe in nginx.
locatie / { ... add_header Server “servernaam”; ... }
meer_set_headers is niet standaard geïnstalleerd in Nginx, dus gebruikers installeren deze plug-in meestal handmatig voordat ze nginx compileren.
Voorbeeldconfiguratie met behulp van meer_set_headers.
locatie /{ ... more_set_headers Server “servernaam”; ... }
RELIANOID configuraties #
- Ga eerst naar LSLB>>Boerderijen en selecteer een HTTP boerderij waarvan u de regels wilt instellen.
- Onder Globaal instellingen, klik op de geavanceerde instellingen Tab.
- Binnen geavanceerde instellingen, Selecteer de Enable optie binnen de herschrijf locatieheaders regel.
- Update de configuraties door op de knop te klikken Toepassen knop.
- Blader naar het kopjesgedeelte en klik op de Creëer regel knop.
- Binnen Type vervolgkeuzelijst, kies er een die bij uw toepassing past. In dit voorbeeld zullen we gebruiken Reactie: header toevoegen.
- Voer de header in waarvan u de waarde wilt wijzigen. Voor dit voorbeeld zullen we de waarde van wijzigen Server header.
- Sla de configuraties op door op de knop te klikken Toepassen knop.
- Herstart de farm zodat de configuraties van kracht worden.
Aanvullende bronnen #
Het Let's encrypt-programma gebruiken om automatisch een SSL-certificaat te genereren.
Datalink/Uplink-loadbalancing Met RELIANOID ADC.
DNS-loadbalancing met RELIANOID ADC.
Bescherming tegen DDoS-aanvallen.
Applicatie-, gezondheids- en netwerkmonitoring in Relianoid ADC.
Firewall-configuratie voor webapplicaties.
SSL-certificaten configureren voor de load balancer.



