Ny guide gällande webbtrafikshantering med Pound & openSUSE har anlänt.
Läs den här: Till Guide
Pound är en omvänd proxy, lastbalanserare & HTTPS Front för webbservrar. Pound utvecklades för att möjliggöra lastbalansering mellan flera webbservrar och för att tillåta en lämplig SSL-wrapper för webbservrar som inte stödjer SSL som standard.
Denna guide förutsätter att en färdig installation av openSUSE finns, det finns en guide att läsa här för hur man installerar openSUSE. Givetvis så går det att ta större delen av denna guide och applicera på andra Linux distributioner.
Nu skall vi installera Pound.
För att lägga till pound i startup kör följande kommando.
# yast runlevel add service=pound
När installationen är klar är det dags att gå vidare till konfigurationen.
Dags att sätta upp Pound för att hantera pekningar till våra webbservrar.
Som exempel så kommer vi att ha tre stycken servrar som levererar webbinnehåll, två av dessa skall lastbalanseras med varandra.
Vår miljö:
ps (192.168.0.2) – Vår Pound server.
web1 (192.168.0.5) – Webbserver som skall lastbalanseras.
web2 (192.168.0.6)- Webbserver som skall lastbalanseras.
mail (192.168.0.10) – E-Post server med webbgränssnitt.
www.example.se – Den adress som skall lastbalanseras.
mail.example.se – Mejlserverns webbgränssnitt nås ifrån denna adress.
Det vi har gjort här är att skapa en URL grupp där båda webb servrarna ingår med olika prioritetsordning, här med 1 & 2. Prioritetsordningen anges mellan 1-9 där 1 är lägst och 9 högst, dvs. i vårt fall så kommer servern med prioritetsordning 2 att få dubbelt så många anrop som servern med prioritetsordning 1.
UrlGroup: Det namn som skall lastbalanseras, hämtas ifrån det anrop som görs emot Pound servern. .* är ett så kallat reguljärt utryck som används vid strängsökning och måste finnas med.
BackEnd: Den/de servrar(192.168.0.x) som skall finnas med i lastbalanseringen, en server per BackEnd rad. Här anges även vilken port(80) samt vilken prioritetsordning(1,2) servern skall ha.
Session: Anger vilken typ av session som skall användas av Pound för att bibehålla anslutningsdata mellan specifika lastbalanserade servrar och klienten. Det finns IP, BASIC, URL, COOKIE, PARM & HEADER.
Då HTTP protokollet i sig är ett så kallat Anslutningslöst(Stateless) protokoll så innebär detta att när man gjort en förfrågan emot en server så har man ej längre kontakt med den och nästa gång man gör en ny förfrågan så skapas en ny anslutning med servern, detta är inget problem när man endast har en server som svarar på anrop, dock så blir detta ett problem när man kör med lastbalansering. Vid lastbalansering så vet man inte vilken server som svarar på det aktuella anropet och har man initierat en session emot den ena servern så kommer den sessionen mest troligt att avbrytas vid ett nytt anrop, beroende på vilken server som svarar. Detta går att komma runt med Session variabeln som vi angivit ovan, där har vi angivit att sessionstypen skall vara COOKIE som heter auth och att den skall vara giltig i 3600 sekunder, dvs 1h. Under denna timmen så kommer alla anrop ifrån en dator att hamna emot samma server.
Det vi gjort här är att skapa en service för mail.example.se där vi säger att när en klient begär denna adress så går Pound in och hämtar data för detta på adressen 192.168.0.10 via port 80 och skickar sedan detta tillbaka till klienten.
Vidare läsning om Pound kan göras på tillverkarens hemsida samt genom att läsa manualen för Pound.
Hemsida: www.apsis.ch
manualen når man även genom att skriva följande i konsolen:
# man pound
Pound är ett bra sätt att hantera/distribuera webbinnehåll via ett minimalt antal externa IP-Adresser, vilka man kanske vill hushålla med eller rent av så har man endast en att tillgå vilket gör det svårt att kunna hantera flera webbresurser utåt på ett vettigt sätt.