Installere HAProxy 1.7 på Debian 9.1 (Stretch)

HAProxy er en nettverksprogramvare som tilbyr høy tilgjengelighet, lastbalansering og proxying for TCP- og HTTP-nettverksapplikasjoner. Den er egnet for nettsteder med høy trafikk, og driver mange populære nettsteder på nettet. Denne artikkelen vil vise deg hvordan du installerer og konfigurerer HAProxy på Debian 9.1.

Selv om HAProxy har flere fremtredende funksjoner, fokuserer denne artikkelen på hvordan du konfigurerer HAProxy til å "proxy" nettapplikasjonen din.

Krav

  • Minst to Vultr-servere (for lastbalanseringsfunksjonalitet) med nettstedet ditt eller nettapplikasjonen din distribuert til begge.

Installerer HAProxy

Debian 9 leveres allerede med HAProxy 1.7 (siste stabile utgivelse i skrivende stund), og vi kan ganske enkelt installere den ved å bruke apt-get:

# apt-get update
# apt-get install haproxy

Hvis de forrige kommandoene var vellykkede, har du installert HAProxy og du kan fortsette til neste trinn.

Konfigurering av HAProxy

HAProxy-konfigurasjonsfilen er delt opp i to seksjoner - "global" og "proxies". Den ene omhandler prosess-omfattende konfigurasjon, mens sistnevnte består av standardkonfigurasjon, frontend og backend-seksjoner.

Global seksjon

Bruk favoritttekstredigeringsprogrammet ditt, åpne /etc/haproxy/haproxy.cfgog legg merke til de forhåndsdefinerte delene: "global" og "standard". Det første du kanskje vil gjøre er å øke maxconntil en rimelig størrelse, da dette påvirker tilkoblingene som HAProxy tillater. For mange tilkoblinger kan føre til at nettjenesten din krasjer på grunn av mange forespørsler. Du må justere størrelsen for å se hva som fungerer for deg. I den globale delen har vi valgt en maxconnverdi på 3072.

global
    daemon
    maxconn 3072

I standarddelen legger du til følgende linje under modus http:

option forwardfor

Dette vil legge til X-Forwarded-Foroverskrifter til hver forespørsel, som lar backend-serverne dine lære brukerens opprinnelige IP-adresse.

Legg også til denne linjen for å aktivere HTTP-tilkoblingslukkingsmodus på serversiden mens du beholder muligheten til å støtte HTTP Keep-alive på klientsiden. Dette reduserer ventetiden på klientsiden og bidrar til å spare serverressurser:

option http-server-close

Hvis du ønsker å bruke keep-alive på både klient- og serversiden, kan du bruke i option http-keep-alivestedet. Dette alternativet er spesielt nyttig når kostnaden for å etablere en ny tilkobling til serveren er betydelig sammenlignet med kostnaden for å hente den forespurte ressursen.

Til slutt vil den resulterende konfigurasjonsfilen se omtrent slik ut:

defaults
    mode http
    option forwardfor
    option http-server-close
    timeout connect 5000ms
    timeout client 50000ms
    timeout server 50000ms

Fullmaktsseksjonen

For å sette opp proxyen din, må du legge til to seksjoner i konfigurasjonsfilen for å definere de to delene av proxyen: frontend og backend.

Frontend-konfigurasjon

Frontend vil håndtere HTTP-tilkoblingene dine. Legg til følgende på slutten av haproxy.cfgfilen:

frontend http-frontend
    bind public_ip:80
    reqadd X-Forwarded-Proto:\ http
    default_backend wwwbackend

Pass på å erstatte public_ipmed serverens offentlige IP-adresse eller domenenavn.

Backend-konfigurasjon

Sett opp backend ved å legge til følgende linjer på slutten av konfigurasjonsfilen:

backend wwwbackend
    server 1-www server1_ip:80 check
    server 2-www server2_ip:80 check
    server 3-www server3_ip:80 check

Backend-konfigurasjonen som brukes her oppretter 3 tilkoblinger som heter X-www. ( Xer 1, 2 eller 3.) Hver av dem tilsvarer en serverX_ip:80 adresse. (Erstatt serverX_ipmed IP-adressene til Vultr-forekomstene.) Dette vil tillate deg å laste balanse mellom hver server i det angitte serversettet (forutsatt at hver IP-adresse tilsvarer en annen server). Det checkalternativet gjør lastbalansering utføre helsekontroller på serveren.

Lagre konfigurasjonsfilen, og start deretter HAProxy på nytt:

service haproxy restart

Hvis alt fungerer, vil du kunne koble til http://public_ip/(erstatte det med din offentlige IP- eller domenenavn som konfigurert i frontend-trinnet) og se nettstedet ditt.

Feilsøkingsfeil

Hvis HAProxy-forekomsten din nekter å starte etter endringene dine, er sjansen stor for at du har en feil et sted i konfigurasjonsfilen. For å få klare meldinger om problemet i konfigurasjonsfilen, kan du prøve å starte HAProxy manuelt ved å bruke denne kommandoen:

# haproxy -f /etc/haproxy/haproxy.cfg

For eksempel, hvis du ser utdata som dette:

[ALERT] 234/195612 (2561) : parsing [/etc/haproxy/haproxy.cfg:48] : server 1-www has neither service port nor check port nor tcp_check rule 'connect' with port information. Check has been disabled.
[ALERT] 234/195612 (2561) : Error(s) found in configuration file : /etc/haproxy/haproxy.cfg
[ALERT] 234/195612 (2561) : Fatal errors found in configuration.

Da har du glemt å spesifisere portnummeret for serveren 1-www.

Legg igjen en kommentar

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.

DDOS-angrep: en kort oversikt

DDOS-angrep: en kort oversikt

Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.

Har du noen gang lurt på hvordan hackere tjener penger?

Har du noen gang lurt på hvordan hackere tjener penger?

Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.

Funksjonaliteter til Big Data Reference Architecture Layers

Funksjonaliteter til Big Data Reference Architecture Layers

Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.

Evolusjon av datalagring – infografikk

Evolusjon av datalagring – infografikk

Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer