Load Balancing en hoge beschikbaarheid van proxy-services voor webnavigatie

GEPOST DOOR Zevenet | 2 maart 2021

Intro

A proxyserver kan worden omschreven als een servertoepassing of -toepassing die bemiddelt voor verzoeken van klanten of clients die proberen bronnen te zoeken van verschillende servers die deze leveren. Dat verklaarde, het betekent dat een proxyserver namens de klant of client werkt wanneer de service wordt aangevraagd, en mogelijk de echte oorsprong of bron van het verzoek aan de server verbergt.

Het proces is dat de client het verzoek rechtstreeks naar de proxyserver stuurt, in plaats van alleen verbinding te maken met een concrete server die een gevraagde bron kan leveren, zoals bestanden of websites, en de proxyserver evalueert dat verzoek en ontwikkelt het juiste en vereiste netwerk. transacties. Dit is een manier om de complexiteit van het verzoek eenvoudiger of meer gecontroleerd te maken en biedt bovendien andere voordelen, zoals beveiliging, versnelling van de inhoud of privacy. Proxy's zijn ontworpen om de bestaande gedistribueerde systemen in te kapselen en te structureren. Enkele van de meest gebruikte proxy's voor webnavigatie zijn Squid, Privoxyof SwiperProxy.

Soms is een proxyserver niet voldoende om het aantal gelijktijdige gebruikers te beheren of is de proxy zelf een centrale stop wordt dat moet worden aangepakt, dan is een ADC volledig vereist.

Het volgende artikel beschrijft een manier om een ​​hoge beschikbaarheid en schaalbaarheid te creëren voor een navigatieproxyservice, in het geval dat een van de proxyservers uitvalt, zal de load balancer, geïmplementeerd met ZEVENET Application Delivery Controller, de fout detecteren en wordt de proxy uitgeschakeld van de beschikbare pool, bovendien wordt de client omgeleid naar een andere beschikbare navigatieproxy zonder de verkeersverbindingen te beïnvloeden.

Proxy-netwerkarchitectuur

Met het idee om de lezer de configuratie beter te laten begrijpen, willen we het volgende diagram bereiken dat de architectuur beschrijft.

zevenet proxycluster load balancer

Verschillende clients (laptops, computers, mobiele telefoons en tablets) configureren de navigatiebrowser die naar de corporatieve proxy verwijst, bijv https://proxy.company.com:3128​ Alle verbindingen van de clients naar de webnavigatieproxy overzichtelijk weergegeven HTTP or SSL zal zijn TCP gebaseerd, dus dit zal worden gebruikt om onze load balancing-farm te bouwen.

De IP-resolutie voor proxy.bedrijf.com is een Virtueel IP al geconfigureerd in de load balancer. In de ZEVENET Application Delivery Controller is er een farm over zo'n virtueel IP-adres, bijv 192.168.103.34 en virtuele poort 3128 in NAT modus voor TCP protocol.

De farm is geconfigureerd met alle backends die de navigatieproxypool bouwen, in ons voorbeeld 192.168.103.253 en 192.168.103.254 via TCP-poort 3128​ Zodra de client probeert verbinding te maken met de geconfigureerde proxy, ontvangt de ADC de verbinding en wordt deze omgeleid naar een van de beschikbare navigatieproxy's in de pool die de gebruikers deelt tussen alle beschikbare backend-proxyservers.

Configuratie voor hoge beschikbaarheid van webnavigatieproxy

In het volgende gedeelte wordt de configuratieprocedure beschreven om een ​​juiste configuratie te maken voor navigatieproxy's voor load balance in ZEVENET load balancer.

Statuscheck van de webnavigatieproxy

Maak eerst een statuscheck voor gebruik in de load balancing-farm die we in de volgende regels gaan maken. Het doel van deze nieuwe statuscheck is om te verifiëren dat de TCP-poort in de backend-proxy's is ingeschakeld.

Ga naar sectie MONITORING> Voogd van de boerderij, maak een nieuwe boer met naam check_tcp_navigation_proxy en kopiëren van check_tcp en breng enkele kleine wijzigingen aan in de time-outs, zoals hieronder weergegeven:

In het commando veld voeg de vlag toe -t 5, dit is de time-out per backend om te reageren op de TCP-verbinding van de load balancer. De interval veld is geconfigureerd op een waarde van 11, 5 seconden per backend + 1 extra seconde om recursie te voorkomen. We raden aan om de volgende formule te gebruiken om het optimale in te stellen interval waarde.

(number of backends * timeout seconds per backend (-t) ) + 1

Virtuele service voor webnavigatieproxy

Maak vervolgens een LSLB> L4xNAT boerderij, bijvoorbeeld met de naam navigatie_proxy, Waaronder Virtueel IP en Virtuele poort zoals aangegeven in het vorige diagram. Als het eenmaal is gemaakt, ga je naar bewerken in Geavanceerd modus en zorg ervoor dat Protocol Type is geconfigureerd in TCP en NAT Type is geconfigureerd in NAT modus.

Ga naar het tabblad om het gedrag van de virtuele service te configureren Diensten en configureer het load balancing-algoritme in Gewicht (standaard). Pas deze waarde aan de meest geschikte voor uw omgeving en gewenst gedrag aan.

Ga dan in dezelfde sectie naar de tafel backends en voeg de echte webnavigatieproxyservers toe die de gebruikersverbindingen zullen beheren.

Selecteer ten slotte de statuscontrole die al is gemaakt in de vorige stap met de naam check_tcp_navigation_proxy om te controleren of het TCP backend-poort is al geopend.

Nu kan de load-balanced virtuele service worden getest voordat de clients worden geconfigureerd.

Clients configuratie

De laatste stap is het configureren van de proxy-instellingen in de webbrowser van de client die naar het Virtueel IP en Virtuele poort gebruikt in load balancer, of introduceer het Virtueel IP in de coöperatie DNS en gebruik een Naam in plaats daarvan bij de klanten, in ons voorbeeld proxy.voorbeeld.com verwijst naar het virtuele IP-adres 192.168.103.34).

Geniet ten slotte van uw load-balanced webnavigatieproxy met hoge beschikbaarheid!

Delen op:

Documentatie onder de voorwaarden van de GNU-licentie voor vrije documentatie.

Was dit artikel behulpzaam?

Gerelateerde artikelen