8 Linuxi jaoks mõeldud peamist avatud lähtekoodiga pöördproksi serverit


Tagurpidi puhverserver on puhverserveri tüüp, mis on paigutatud klientide ja tagasiside/algserverite vahele, näiteks HTTP-server nagu NGINX, Apache jne. , PHP ja paljud teised programmeerimiskeeled.

See on värav või vahendusserver, mis võtab vastu klienditaotluse, edastab selle ühele või mitmele taustserverile ja toob seejärel vastuse serverilt ning toimetab selle kliendile tagasi, tehes selle nii, nagu oleks sisu pärines pöördproksiserverist endast.

Üldiselt on vastupidine puhverserver sisemisele poole suunatud puhverserver, mida kasutatakse „esiotsa”, et kontrollida ja kaitsta juurdepääsu privaatvõrgus asuvatele serveritele: see on tavaliselt paigutatud võrgu tulemüüri taha.

See aitab taustserveritel saavutada turvalisuse suurendamiseks anonüümsus. IT-infrastruktuuris võib vastupidine puhverserver toimida ka rakenduse tulemüürina, koormuse tasakaalustajana, TLS-i lõpetajana, veebikiirendina (staatilise ja dünaamilise sisu vahemällu salvestamise kaudu) ja palju muud.

Selles artiklis vaatame üle 8 peamist avatud lähtekoodiga vastupidist puhverserverit, mida saate Linuxi süsteemis kasutada.

1. HAProxy

HAProxy (HAProxy, mis tähistab kõrge kättesaadavuse puhverserverit) - tasuta, avatud lähtekoodiga, väga kiire, usaldusväärne ja tipptasemel koormuse tasakaalustaja ning puhverserver TCP ja HTTP-põhistele rakendustele, mis on loodud kõrge kättesaadavuse jaoks.

HAProxy on HTTP vastupidine puhverserver, TCP puhverserver ja normaliseerija, SSL/TLS-i terminaator/algataja/mahalaadija, vahemällu salvestatud puhverserver, HTTP tihendusmahuti, liikluse regulaator, sisupõhine lüliti, FastCGI-lüüs ja palju muud. See on ka kaitse DDoS-i ja teenuse kuritarvitamise eest.

Selle jõuallikaks on sündmuste juhitud, mitteblokeeriv mootor, mis ühendab väga kiire sisend- ja väljundkihi prioriteedipõhise, mitmekeermelise planeerijaga, mis võimaldab tal hõlpsasti toime tulla kümnete tuhandete samaaegsete ühendustega. Nimelt kasutab HAProxy PROXY-protokolli kliendi ühendusteabe edastamiseks serverite taustaprogrammide või lähtekoodide edastamiseks, nii et rakendus saaks kogu asjakohase teabe.

Mõned HAProxy põhifunktsioonid hõlmavad puhverserverit, SSL-tuge, nii serveri olekute kui ka enda oleku jälgimist, suurt kättesaadavust, koormuse tasakaalustamist, kleepuvust (külastaja hoidmine samas serveris isegi erinevate sündmuste korral), sisu vahetamist, HTTP ümberkirjutamist ja ümbersuunamist, serveri kaitse, logimine, statistika ja palju muud.

2. NGINX

NGINX, tasuta avatud lähtekoodiga, suure jõudlusega ja väga populaarne HTTP-server ja vastupidine puhverserver. See toimib ka IMAP/POP3 puhverserverina. NGINX on tuntud oma suure jõudluse, stabiilsuse, rikkaliku funktsioonikomplekti, lihtsa ja paindliku konfiguratsiooni ning väikese ressursikulu (eriti väikese mälujälje) poolest.

Nii nagu HAProxy, on ka NGINX-il sündmustepõhine arhitektuur, seega pole tal probleeme kümnete tuhandete samaaegsete ühendustega tegelemisega, kuna see kasutab HAProxy PROXY-protokolli.

NGINX toetab kiirendatud vastupidist puhverserverit vahemälu abil, kasutades moodulit ngx_http_proxy_module, mis võimaldab päringute edastamist teisele serverile muude protokollide kui HTTP kaudu, näiteks FastCGI, uwsgi, SCGI ja memššeeritud.

Oluline on see, et see toetab koormuse tasakaalustamist ja tõrketaluvust, mis on suuremahuliste hajutatud arvutisüsteemide olulised aspektid. Moodul ngx_http_upstream_module võimaldab määratleda taustaprogrammi serverite rühmi klientidelt päringute levitamiseks. See muudab teie rakendused kindlamaks, kättesaadavamaks ja usaldusväärsemaks, väga skaleeritavaks, reageerimisaja ja läbilaskevõimega. Lisaks toetab see turvalisuse osas SSL/TLS-i lõpetamist ja paljusid muid turvaelemente.

Kasulikud artiklid Nginxi veebiserveris, mida võiksite lugeda:

  • Nginxi veebiserveri installimine Ubuntu 20.04
  • Nginxi installimine CentOS 8-le
  • Kuidas lubada NGINX-i olekuleht

3. Lakkige HTTP vahemälu

Varnish HTTP Cache (või Varnish Cache või lihtsalt Lakk) on tasuta, avatud lähtekoodiga, suure jõudlusega ja väga populaarne vahemällu salvestatud pöördproksi tarkvara, mida tuntakse paremini veebirakenduste kiirendina ja mis on mõeldud HTTP-jõudluse parandamiseks serveripoolse vahemälu abil.

See on paigutatud kliendi ja HTTP veebiserveri või rakendusserveri vahele; iga kord, kui klient küsib veebiserverilt teavet või ressurssi, salvestab Varnish teabe koopia, nii et järgmisel korral, kui klient soovib sama teavet, teenib Varnish seda ilma veebiserverile päringut saatmata, vähendades seega koormust serveris ja omakorda kiirendab veebisisu edastamist.

Lakk kasutab paindlikku konfiguratsioonikeelt, mida nimetatakse laki konfiguratsioonikeeleks (VLC), mis võimaldab süsteemiadministraatoritel muuhulgas seadistada sissetulevate taotluste töötlemist, millist sisu peaks serveerima ja kust ning kuidas päringut või vastust tuleks muuta ja palju muud.

Lakk on ka laiendatav - seda saab laiendada lakimoodulite (VMOD) abil ja kasutajad saavad kirjutada oma kohandatud mooduleid või kasutada kogukonna pakutavaid mooduleid.

Varnishi peamine piirang on SSL/TLS-i toetuse puudumine. Ainus viis HTTPS-i lubamiseks on SSL/TLS-i terminali või mahalaadija, näiteks HAProxy või NGINX, juurutamine selle ette.

4. Træfɪk

Træfɪk (hääldatud liiklus) on tasuta, avatud lähtekoodiga, kaasaegne ja kiire HTTP vastupidine puhverserver ja koormuse tasakaalustaja mikroteenuste juurutamiseks, mis toetab mitut koormuse tasakaalustamise algoritmi. See saab liidestada erinevate pakkujatega (või teenuse avastamise mehhanismide või orkestreerimisvahenditega), nagu Kubernates, Docker, Etcd, Rest API, Mesos/Marathon, Swarm ja Zookeper.

Selle armastusväärne omadus on võime hallata oma konfiguratsiooni automaatselt ja dünaamiliselt, avastades nii oma teenustele õige konfiguratsiooni. Seda tehes skaneeritakse teie infrastruktuuri asjakohase teabe leidmiseks ja avastatakse, millist teenust välismaailmast pärinevad. Pakkujad ütlevad Træfɪkile, kus asuvad teie rakendused või mikroteenused.

Træfɪki muid funktsioone toetatakse WebSocketsis, HTTP/2 ja GRPC ning kiirlaadimises (värskendatakse pidevalt konfiguratsiooni ilma taaskäivitamiseta), HTTPS-i kasutades Let’s Encrypt -sertifikaate (metamärgisertifikaatide tugi) ja paljastatakse REST API. See peab ka juurdepääsulogisid ja pakub mõõdikuid (Rest, Prometheus, Datadog, Statsd, InfluxDB).

Samuti on Træfɪkil lihtne HTML-põhine veebiliides, mida kasutatakse sündmustel silma peal hoidmiseks. Samuti toetab see kaitselüliteid, uuesti proovitaotlusi, kiiruse piiramist ja põhilist autentimist.

5. Apache liiklusserver

Varem Yahoo omanduses olnud kommertstoode, mis anti hiljem Apache Foundationile üle, on Apache Traffic Server tasuta, avatud lähtekoodiga ja kiire vahemällu salvestatud edasi-tagasi ja vastupidine puhverserver.

Traffic Server töötab ka koormuse tasakaalustajana ja saab osaleda paindlikes vahemäluhierarhiates. On teada, et ta on Yahoo linnas käinud päevas üle 400 TB liikluses.

See sisaldab sisupäringute püsimise, filtreerimise või anonüümseks muutmise komplekti ning on laiendatav API kaudu, mis võimaldab kasutajatel luua kohandatud pistikprogramme HTTP-päiste muutmiseks, ESI-päringute käsitlemiseks või uute vahemälu-algoritmide kujundamiseks.

6. Kalmaari puhverserver

Squid on tasuta, avatud lähtekoodiga ja tuntud puhverserveri ja veebivahemiku deemon, mis toetab erinevaid protokolle nagu HTTP, HTTPS, FTP ja palju muud. Sellel on vastupidine puhverserveri (httpd-kiirendi) režiim, mis salvestab väljuvate andmete sissetulevad päringud vahemällu.

See toetab rikkalikke liikluse optimeerimise võimalusi, juurdepääsu kontrollimist, autoriseerimist, logimisvõimalusi ja palju muud.

7. Nael

Nael on veel üks tasuta ja avatud lähtekoodiga, kerge vastupidise puhverserveri ja koormuse tasakaalustaja ning veebiserverite eesseade. See on ka SSL-i terminaator (mis dekrüpteerib klientide HTTPS-päringud ja saadab need tavalise HTTP-vormingus taustserveritesse), HTTP/HTTPS-i desinfitseerija (mis kontrollib õigsuse taotlusi ja aktsepteerib ainult hästi vormistatud taotlusi) ja tõrge - üle serveri.

8. Apache HTTP server

Lõpuks on meil Apache HTTP-server (tuntud ka kui HTTPD), mis on maailma populaarseim veebiserver. Seda saab ka juurutada ja konfigureerida toimima vastupidise puhverserverina.

Lisaks saate kassast osta ka uue lapse Skipperi. See on tasuta ja avatud lähtekoodiga HTTP-ruuter ja teenuse koostamise pöördproksi, sealhulgas kasutamisjuhud nagu Kubernetes Ingress.

See on kõik, mis meil selles juhendis teie jaoks oli. Selle loendi iga tööriista kohta lisateabe saamiseks vaadake nende vastavaid veebisaite. Ärge unustage oma mõtteid meiega jagada alloleva tagasiside vormi kaudu.