10 parasta avoimen lähdekoodin käänteistä välityspalvelinta Linuxille


Käänteinen välityspalvelin on eräänlainen välityspalvelin, joka otetaan käyttöön asiakkaiden ja tausta-/alkuperäpalvelimien välillä, esimerkiksi HTTP-palvelin, kuten NGINX, Apache jne. tai sovelluspalvelimet, jotka on kirjoitettu kielellä Nodejs, Python, Java, Ruby, PHP ja monet muut ohjelmointikielet.

Se on yhdyskäytävä tai välipalvelin, joka ottaa vastaan asiakkaan pyynnön, välittää sen yhdelle tai useammalle taustapalvelimelle ja noutaa sitten vastauksen palvelimelta ja toimittaa sen takaisin asiakkaalle, jolloin se näyttää siltä kuin sisältö olisi peräisin itse käänteiseltä välityspalvelimelta.

Yleensä käänteinen välityspalvelin on sisäinen välityspalvelin, jota käytetään "etuosana" valvomaan ja suojaamaan pääsyä taustapalvelimiin yksityisessä verkossa: se otetaan yleensä käyttöön verkon palomuurin takana. .

Se auttaa taustapalvelimia saavuttamaan anonymiteetin turvallisuuden parantamiseksi. IT-infrastruktuurissa käänteinen välityspalvelin voi toimia myös sovelluksen palomuurina, kuormituksen tasapainottajana, TLS-päätteenä, verkkokiihdytinnä (välimuistiin tallentamalla staattista ja dynaamista sisältöä) ja paljon muuta.

Tässä artikkelissa tarkastellaan 10 parasta avoimen lähdekoodin käänteistä välityspalvelinta, joita voit käyttää Linux-järjestelmässä.

1. HAProxy – (TCP/HTTP-kuormituksen tasapainottaja)

HAProxy (HAProxy, joka tarkoittaa High Availability Proxy) on ilmainen, avoimen lähdekoodin, erittäin nopea, luotettava ja huippuluokan kuormituksen tasaus- ja välityspalvelinohjelmisto TCP:lle. ja HTTP-pohjaiset sovellukset, jotka on suunniteltu korkeaa käytettävyyttä varten.

HAProxy on käänteinen HTTP-välityspalvelin, TCP-välityspalvelin ja normalisoija, SSL/TLS-päättäjä/-käynnistin/poislataaja, välimuistipalvelin, HTTP-pakkauksen purkuohjelma, liikenteen säädin, sisältöpohjainen kytkin, FastCGI-yhdyskäytävä ja paljon muuta. Se on myös suoja DDoS:lta ja palvelun väärinkäytöltä.

Siinä on tapahtumaohjattu, estämätön moottori, joka yhdistää erittäin nopean I/O-kerroksen prioriteettipohjaiseen, monisäikeiseen ajoittimeen, jonka avulla se pystyy käsittelemään helposti kymmeniä tuhansia samanaikaisia yhteyksiä.

Erityisesti HAProxy käyttää PROXY-protokollaa välittämään asiakkaan yhteystiedot tausta- tai lähtöpalvelimille, jotta sovellus saa kaikki tarvittavat tiedot.

Joitakin HAProxyn perusominaisuuksia ovat välityspalvelin, SSL-tuki, palvelintilojen ja niiden tilan valvonta, korkea käytettävyys, kuormituksen tasapainotus, tahmeus (vierailijan pitäminen samalla palvelimella jopa eri tapahtumissa), sisällön vaihto, HTTP-uudelleenkirjoitus ja uudelleenohjaus, palvelin suojaus, kirjaus, tilastot ja paljon muuta.

2. NGINX – (HTTP ja käänteinen välityspalvelinverkkopalvelin)

NGINX on ilmainen, avoimen lähdekoodin, korkean suorituskyvyn ja erittäin suosittu HTTP-palvelin ja käänteinen välityspalvelin. Se toimii myös IMAP/POP3-välityspalvelimena. NGINX tunnetaan hyvin korkeasta suorituskyvystään, vakaudestaan, runsaasta ominaisuuksistaan, yksinkertaisesta ja joustavasta kokoonpanostaan ja alhaisesta resurssienkulutuksestaan (erityisesti pienestä muistitilasta).

Aivan kuten HAProxyssa, myös NGINX:ssä on tapahtumaohjattu arkkitehtuuri, joten sillä ei ole ongelmia kymmenien tuhansien samanaikaisten yhteyksien käsittelyssä, koska se käyttää HAProxyn välityspalvelinta. > protokollaa.

NGINX tukee nopeutettua käänteistä välityspalvelinta välimuistilla käyttämällä ngx_http_proxy_module-moduulia, joka mahdollistaa pyyntöjen välittämisen toiselle palvelimelle muiden protokollien kuin HTTP:n, kuten FastCGI:n, uwsgi:n, SCGI:n ja Memcachedin, kautta.

Tärkeää on, että se tukee kuormituksen tasapainotusta ja vikasietoisuutta, jotka ovat tärkeitä osa-alueita suurissa hajautetuissa laskentajärjestelmissä. ngx_http_upstream_module-moduuli mahdollistaa taustapalvelinryhmien määrittämisen asiakkailta tulevien pyyntöjen jakamiseksi.

Tämä tekee sovelluksistasi kestävämpiä, käytettävissäsi ja luotettavampia, erittäin skaalautuvia sekä vasteaikaa ja suorituskykyä. Lisäksi turvallisuuden osalta se tukee SSL/TLS-päättämistä ja monia muita suojausominaisuuksia.

Hyödyllisiä artikkeleita Nginx-verkkopalvelimesta, jotka saatat haluta lukea:

3. Lakka – (käänteisen välimuistin välityspalvelin)

Varnish HTTP Cache (tai Varnish Cache tai yksinkertaisesti Varnish) on ilmainen, avoimen lähdekoodin, korkean suorituskyvyn ja erittäin suosittu välimuistin käänteinen välityspalvelinohjelmisto, joka tunnetaan paremmin verkkona. sovelluskiihdytin, joka on suunniteltu parantamaan HTTP-suorituskykyä palvelinpuolen välimuistin avulla.

Se otetaan käyttöön asiakkaan ja HTTP-verkkopalvelimen tai sovelluspalvelimen välillä; aina kun asiakas pyytää tietoa tai resurssia verkkopalvelimelta, Varnish tallentaa tiedoista kopion, joten seuraavan kerran kun asiakas pyytää samoja tietoja, Varnish palvelee niitä lähettämättä pyyntöä verkkopalvelimelle, mikä vähentää palvelimen kuormitusta. palvelimelle ja puolestaan nopeuttaa verkkosisällön toimitusta.

Varnish käyttää joustavaa määrityskieltä, joka tunnetaan nimellä Varnish Configuration Language (VLC), jonka avulla järjestelmänvalvojat voivat muun muassa määrittää saapuvien pyyntöjen asetukset. käsitellään, mitä sisältöä pitäisi tarjota, mistä ja miten pyyntöä tai vastausta tulisi muuttaa, ja paljon muuta.

Lakka on myös laajennettavissa – sitä voidaan pidentää Lakkamoduuleilla (VMOD:illa), ja käyttäjät voivat kirjoittaa omia moduulejaan tai käyttää yhteisön toimittamia moduuleja.

Varnishin tärkein rajoitus on se, että se ei tue SSL/TLS. Ainoa tapa ottaa HTTPS käyttöön on ottaa käyttöön SSL/TLS-pääte tai offloader, kuten HAProxy tai NGINX sen edessä.

4. Træfɪk – (Cloud Native Application Proxy)

Træfɪk (lausutaan Traffic) on ilmainen, avoimen lähdekoodin, moderni ja nopea HTTP-käänteinen välityspalvelin ja kuormituksen tasapainotin mikropalvelujen käyttöönottoon, joka tukee useita kuormituksen tasapainotusalgoritmeja.

Se voi liittyä useisiin palveluntarjoajiin (tai palvelunhakumekanismeihin tai orkestrointityökaluihin), kuten Kubernetes, Docker, etc, Rest API, Mesos/Marathon, Swarm ja Zookeper.

Sen rakastettava ominaisuus on kyky hallita sen kokoonpanoa automaattisesti ja dynaamisesti ja löytää siten oikeat kokoonpanot palveluillesi. Se tekee tämän skannaamalla infrastruktuurisi löytääkseen asiaankuuluvat tiedot ja selvittämällä, mikä palvelu palvelee mitä tahansa ulkopuolisen maailman pyyntöä. Palveluntarjoajat kertovat Træfɪkille, missä sovelluksesi tai mikropalvelusi sijaitsevat.

Træfɪkin muita ominaisuuksia tuetaan WebSocketsissa, HTTP/2:ssa ja GRPC:ssä, hot-reloading (päivittää jatkuvasti määrityksensä ilman uudelleenkäynnistystä), HTTPS Let’s Encrypt -varmenteet (jokerimerkkivarmennetuki) ja paljastaa REST API:n. Se pitää myös käyttölokeja ja tarjoaa mittareita (Rest, Prometheus, Datadog, Statsd, InfluxDB).

Lisäksi Træfɪk toimitetaan yksinkertaisella HTML-pohjaisella verkkokäyttöliittymällä, jota käytetään tapahtumien seuraamiseen. Se tukee myös katkaisijoita, uudelleenyrityspyyntöjä, nopeuden rajoitusta ja perustodennusta.

5. Apache Traffic Server – (käänteinen ja eteenpäin suunnattu välityspalvelin)

Aiemmin Yahoon omistama kaupallinen tuote, joka luovutettiin myöhemmin Apache Foundationille, Apache Traffic Server on ilmainen, avoimen lähdekoodin ja nopea välimuisti välityspalvelin palvelin.

Traffic Server toimii myös kuormituksen tasapainottajana ja voi osallistua joustaviin välimuistihierarkioihin. Sen tiedetään käsitelleensä yli 400 TB liikennettä päivässä Yahoolla.

Se sisältää joukon sisältöpyyntöjen säilytystä, suodatusta tai anonymisointia, ja se on laajennettavissa API:lla, jonka avulla käyttäjät voivat luoda mukautettuja laajennuksia HTTP-otsikoiden muokkaamiseen, ESI-pyyntöjen käsittelemiseen tai uusien välimuistialgoritmien suunnitteluun.

6. Squid – (HTTP-välityspalvelin välimuistiin ja edelleenlähetys)

Squid on ilmainen, avoimen lähdekoodin ja tunnettu välityspalvelin- ja verkkovälimuistidaemon, joka tukee useita protokollia, kuten HTTP, HTTPS, FTP ja paljon muuta. Siinä on käänteinen välityspalvelin (httpd-accelerator) -tila, joka tallentaa välimuistiin saapuvat lähtevän tiedon pyynnöt.

Se tukee monipuolisia liikenteen optimointivaihtoehtoja, kulunvalvontaa, valtuutusta, lokitoimintoja ja paljon muuta.

7. Pound – (käänteinen välityspalvelin ja kuormituksen tasapainotin)

A Pound on toinen ilmainen ja avoimen lähdekoodin, kevyt käänteinen välityspalvelin ja kuormituksen tasapainotin ja käyttöliittymä verkkopalvelimille. Se on myös SSL-pääte (joka purkaa asiakkaiden HTTPS-pyynnöt ja lähettää ne tavallisena HTTP:nä taustapalvelimille).

HTTP/HTTPS-puhdistin (joka varmistaa pyyntöjen oikeellisuuden ja hyväksyy vain hyvin muotoillut pyynnöt) ja vikasietopalvelin.

8. Apache – (HTTP-verkkopalvelin)

Apache HTTP-palvelin (tunnetaan myös nimellä HTTPD), joka on maailman suosituin verkkopalvelin, voidaan myös ottaa käyttöön ja määrittää toimimaan käänteisenä välityspalvelimena.

Apache on erinomaista asiakaspyyntöjen reitittämisessä taustapalvelimille, turvallisuuden parantamisessa, kuormituksen tasapainottamisessa ja verkkosovellusten suorituskyvyn optimoinnissa. Välittäjänä toimimalla Apache voi tehokkaasti jakaa saapuvan liikenteen useille palvelinesiintymille, mikä varmistaa korkean käytettävyyden ja saumattoman käyttökokemuksen.

Sen vankat ja mukautettavat konfigurointivaihtoehdot tekevät siitä parhaan vaihtoehdon organisaatioille, jotka etsivät luotettavaa ratkaisua käänteisen välityspalvelimen tarpeisiin, olipa kyse sisällön välimuistista tai sovellusten toimituksesta.

9. Skipper – (HTTP-reititin ja käänteinen välityspalvelin)

Skipper on ilmainen ja avoimen lähdekoodin HTTP-reititin ja käänteinen välityspalvelin palvelun kokoonpanolle, mukaan lukien käyttötapaukset, kuten Kubernetes Ingress.

Se on rakennettu hallitsemaan huomattavaa määrää dynaamisesti määritettyjä HTTP-reittimäärityksiä, ylittää 800 000 reittiä, sisältää monimutkaiset hakuehdot ja tarjoaa joustavuutta parantaa pyyntövirtaa suodattimilla.

Se voidaan ottaa helposti käyttöön sellaisenaan tai sitä voidaan laajentaa sisällyttämällä mukautettu haku, suodatinlogiikka ja konfigurointilähteet.

10 Caddy 2 – nopea palvelin automaattisella HTTPS:llä

Caddy 2 on avoimen lähdekoodin verkkopalvelin ja käänteinen välityspalvelin, joka tunnetaan yksinkertaisuudestaan ja monipuolisuudestaan. Se tarjoaa oletuksena käyttäjäystävällisen käyttöliittymän ja automaattisen HTTPS:n, joten se on helppokäyttöinen valinta sekä uusille tulokkaille että kokeneille käyttäjille.

Caddy 2 on suunniteltu käsittelemään vaivattomasti verkkopalvelua, HTTP/2:ta, kuormituksen tasapainotusta ja välityspalvelinta, mikä parantaa verkkosivuston suorituskykyä ja turvallisuutta. Sen avoimen lähdekoodin luonne kannustaa yhteisöön osallistumaan, ja se on saavuttanut suosiota helppokäyttöisyytensä ja nykyaikaisten ominaisuuksiensa ansiosta web-hosting- ja palvelinhallinnan maailmassa.

Johtopäätös

Siinä kaikki, mitä meillä oli sinulle tässä oppaassa. Lisätietoja kustakin tämän luettelon työkalusta on niiden vastaavilla verkkosivustoilla. Älä unohda jakaa ajatuksesi kanssamme alla olevan palautelomakkeen kautta.