Seva 8 za Juu za Open Source Reverse kwa Linux


Seva mbadala ya reverse ni aina ya seva mbadala ambayo hutumwa kati ya wateja na seva za nyuma/asili, kwa mfano, seva ya HTTP kama vile NGINX, Apache, n.k. au seva za programu zilizoandikwa katika Nodejs, Python, Java, Ruby. , PHP, na lugha nyingine nyingi za programu.

Ni lango au seva ya mpatanishi ambayo huchukua ombi la mteja, kulipitisha kwa seva moja au zaidi za mwisho-nyuma, na baadaye kuleta jibu kutoka kwa seva na kuirejesha kwa mteja, na hivyo kuifanya ionekane kama yaliyomo. ilitoka kwa seva mbadala ya nyuma yenyewe.

Kwa ujumla, seva ya seva mbadala ni seva mbadala inayoangalia ndani inayotumiwa kama 'mwisho wa mbele' ili kudhibiti na kulinda ufikiaji wa seva za nyuma kwenye mtandao wa kibinafsi: kwa kawaida hutumwa nyuma ya ngome ya mtandao.

Husaidia seva za nyuma kupata kutokujulikana ili kuimarisha usalama wao. Katika miundombinu ya TEHAMA, seva mbadala ya kinyume inaweza pia kufanya kazi kama ngome ya programu, kiweka usawazishaji, kiondoa TLS, kichapuzi cha wavuti (kwa kuakibisha maudhui tuli na yanayobadilika), na mengi zaidi.

Katika makala haya, tutapitia seva mbadala 8 za juu za chanzo huria ambazo unaweza kutumia kwenye mfumo wa Linux.

1. HAProksi

HAProksi (HAProxy, ambayo inawakilisha Wakala wa Upatikanaji wa Juu), bila malipo, chanzo huria, cha haraka sana, kinachotegemewa, na cha hali ya juu cha kusawazisha upakiaji na proksi ya programu za TCP na HTTP, iliyoundwa kwa ajili ya upatikanaji wa juu.

HAProksi ni seva mbadala ya HTTP, seva mbadala na ya kawaida ya TCP, kisimamishaji/kianzisha/kipakuzi cha SSL/TLS, proksi ya akiba, kiondoa mfinyazo wa HTTP, kidhibiti cha trafiki, swichi inayotegemea maudhui, lango la FastCGI na zaidi. Pia ni ulinzi dhidi ya DDoS na matumizi mabaya ya huduma.

Inaendeshwa na injini ya matukio, isiyozuia ambayo inachanganya safu ya I/O ya haraka sana na kipanga ratiba chenye msingi wa kipaumbele, kinachoiwezesha kushughulikia kwa urahisi makumi ya maelfu ya miunganisho inayofanana. Hasa, HAProxy hutumia itifaki ya PROXY kupitisha maelezo ya muunganisho wa mteja ili kurudisha nyuma au seva asili ili programu ipate taarifa zote muhimu.

Baadhi ya vipengele vya msingi vya HAProxy ni pamoja na kufanya proksi, usaidizi wa SSL, ufuatiliaji wa majimbo yote mawili ya seva na hali yake yenyewe, upatikanaji wa juu, kusawazisha mzigo, kunata(dumisha mgeni kwenye seva hiyo hiyo hata katika matukio mbalimbali), kubadili maudhui, kuandika upya kwa HTTP, na kuelekeza upya, ulinzi wa seva, ukataji miti, takwimu, na mengi zaidi.

2. NGINX

NGINX, bila malipo, chanzo-wazi, utendakazi wa hali ya juu, na seva maarufu sana ya HTTP na seva mbadala ya kurudi nyuma. Pia hufanya kazi kama seva mbadala ya IMAP/POP3. NGINX inajulikana sana kwa utendaji wake wa juu, uthabiti, seti tajiri ya vipengele, usanidi rahisi na rahisi, na matumizi ya chini ya rasilimali (hasa kumbukumbu ndogo ya kumbukumbu).

Kama tu HAProxy, NGINX ina usanifu unaoendeshwa na tukio kwa hivyo haina shida kushughulika na makumi ya maelfu ya viunganisho vya wakati mmoja, kwani hutumia itifaki ya PROXY ya HAProxy.

NGINX inaauni usaidizi wa nyuma ulioharakishwa kwa kuakibisha kwa kutumia moduli ya ngx_http_proxy_module, ambayo inaruhusu kutuma maombi kwa seva nyingine kupitia itifaki nyingine kando na HTTP, kama vile FastCGI, uwsgi, SCGI na memcached.

Muhimu zaidi, inasaidia kusawazisha mzigo na uvumilivu wa makosa ambayo ni vipengele muhimu vya mifumo mikubwa ya kompyuta iliyosambazwa. Moduli ya ngx_http_upstream_module inaruhusu kufafanua vikundi vya seva za mazingira nyuma ili kusambaza maombi yanayotoka kwa wateja. Hii hufanya programu zako kuwa dhabiti zaidi, zipatikane na kutegemewa, ziongezeke kwa muda wa majibu na matokeo. Zaidi ya hayo, kuhusu usalama, inasaidia kusitishwa kwa SSL/TLS na vipengele vingine vingi vya usalama.

Nakala muhimu kwenye seva ya wavuti ya Nginx ungependa kusoma:

  • Jinsi ya Kusakinisha Seva ya Wavuti ya Nginx kwenye Ubuntu 20.04
  • Jinsi ya kusakinisha Nginx kwenye CentOS 8
  • Jinsi ya Kuwasha Ukurasa wa Hali ya NGINX

3. Valisha HTTP Cache

Akiba ya HTTP ya Varnish (au Cache ya Varnish au Varnish kwa urahisi) ni programu huria, huria, utendakazi wa hali ya juu, na programu maarufu sana ya uwekaji nyuma ya akiba inayojulikana zaidi kama kichapuzi cha programu ya wavuti, iliyoundwa ili kuboresha utendaji wa HTTP kwa kutumia uwekaji kando ya seva.

Inatumwa kati ya mteja na seva ya wavuti ya HTTP au seva ya programu; kila wakati mteja anapoomba habari au rasilimali kutoka kwa seva ya wavuti, Varnish huhifadhi nakala ya habari hiyo, kwa hivyo wakati mwingine mteja anaomba habari hiyo hiyo, Varnish itaitumikia bila kutuma ombi kwa seva ya wavuti na hivyo kupunguza mzigo. kwenye seva na kwa upande wake kuharakisha uwasilishaji wa yaliyomo kwenye wavuti.

Varnish hutumia lugha inayonyumbulika ya usanidi inayojulikana kama Lugha ya Usanidi wa Varnish (VLC) ambayo miongoni mwa mambo mengine huwezesha wasimamizi wa mfumo kusanidi jinsi maombi yanayoingia yanapaswa kushughulikiwa, ni maudhui gani yanapaswa kutumwa, kutoka wapi, na jinsi ombi au jibu linapaswa kubadilishwa. , na mengi zaidi.

Varnish pia inaweza kupanuliwa - inaweza kupanuliwa kwa kutumia Moduli za Varnish (VMODs) na watumiaji wanaweza kuandika moduli zao maalum au kutumia moduli zinazotolewa na jumuiya.

Kizuizi kikuu cha Varnish ni ukosefu wake wa msaada kwa SSL/TLS. Njia pekee ya kuwezesha HTTPS ni kupeleka kisimamishaji cha SSL/TLS au kipakiaji kama vile HAProxy au NGINX mbele yake.

4. Træfɪk

Træfɪk (tamka Trafiki) ni seva mbadala isiyolipishwa ya HTTP isiyolipishwa, ya chanzo huria, ya kisasa, na ya haraka na kisawazisha cha upakiaji kwa ajili ya kupeleka huduma ndogo ndogo zinazoauni algoriti nyingi za kusawazisha upakiaji. Inaweza kuunganishwa na watoa huduma mbalimbali (au mbinu za ugunduzi wa huduma au zana za upangaji) kama vile Kubernates, Docker, Etcd, Rest API, Mesos/Marathon, Swarm, na Zookeper.

Kipengele chake cha kupendeza ni uwezo wake wa kudhibiti usanidi wake kiotomatiki na kwa nguvu na hivyo kugundua usanidi sahihi wa huduma zako. Inafanya hivi kwa kuchanganua miundombinu yako ili kupata taarifa muhimu na kugundua ni huduma gani inayotoa ombi kutoka kwa ulimwengu wa nje. Watoa huduma huiambia Træfɪk mahali programu zako au huduma ndogo ndogo zinapatikana.

Vipengele vingine vya Træfɪk vinatumika kwa WebSockets, HTTP/2, na GRPC, na upakiaji upya wa motomoto (husasisha usanidi wake mara kwa mara bila kuwasha upya), HTTPS kwa kutumia vyeti vya Let's Encrypt (usaidizi wa cheti cha wildcard), na kufichua API ya REST. Pia huweka kumbukumbu za ufikiaji, na hutoa vipimo (Rest, Prometheus, Datadog, Statsd, InfluxDB).

Pia, Træfɪk husafirishwa na kiolesura rahisi cha mtumiaji wa wavuti kulingana na HTML kinachotumiwa kuweka macho kwenye matukio. Pia inasaidia vivunja mzunguko, maombi ya kujaribu tena, kupunguza kiwango, na uthibitishaji msingi.

5. Seva ya Trafiki ya Apache

Hapo awali ilikuwa bidhaa ya kibiashara inayomilikiwa na Yahoo ambayo baadaye ilikabidhiwa kwa Wakfu wa Apache, Apache Traffic Server ni seva isiyolipishwa, huria, na inayoakibishwa kwa haraka na seva mbadala ya kurudi nyuma.

Seva ya Trafiki pia inafanya kazi kama kusawazisha upakiaji na inaweza kushiriki katika safu za akiba zinazonyumbulika. Inajulikana kuwa imeshughulikia zaidi ya 400 TB kwa siku ya trafiki katika Yahoo.

Inaangazia seti ya kuweka hai, kuchuja, au kutotambulisha maombi ya yaliyomo, na inaweza kupanuliwa kupitia API ambayo inaruhusu watumiaji kuunda programu-jalizi maalum ili kurekebisha vichwa vya HTTP, kushughulikia maombi ya ESI, au kubuni algoriti mpya za kache.

6. Seva ya Wakala wa Squid

Squid ni seva ya proksi isiyolipishwa, chanzo-wazi na inayojulikana sana na daemoni ya akiba ya Wavuti inayoauni itifaki mbalimbali kama vile HTTP, HTTPS, FTP, na zaidi. Inaangazia modi ya seva mbadala (httpd-accelerator) ambayo huhifadhi maombi yanayoingia ya data inayotoka.

Inasaidia chaguzi tajiri za uboreshaji wa trafiki, udhibiti wa ufikiaji, idhini, vifaa vya ukataji miti, na mengi zaidi.

7. Pauni

Pauni ni mbadala nyingine isiyolipishwa na ya wazi, isiyo na uzani mwepesi na kisawazisha cha upakiaji na mwisho wa mbele kwa seva za wavuti. Pia ni kisimamishaji cha SSL (kinachoondoa usimbaji ombi la HTTPS kutoka kwa wateja na kuyatuma kama HTTP wazi kwa seva za mwisho), kisafishaji cha HTTP/HTTPS (kinachothibitisha maombi ya usahihi na kukubali tu zilizoundwa vizuri), na kutofaulu. - juu ya seva.

8. Seva ya HTTP ya Apache

Mwisho kabisa, tunayo seva ya Apache HTTP (inayojulikana pia kama HTTPD), seva ya wavuti maarufu zaidi ulimwenguni. Inaweza pia kutumwa na kusanidiwa kufanya kazi kama proksi ya kinyume.

Zaidi ya hayo, unaweza pia kuangalia Skipper, mtoto mpya kwenye kizuizi. Ni kipanga njia cha HTTP kisicholipishwa na chenye chanzo wazi na seva mbadala ya kubadilisha muundo wa huduma, ikijumuisha hali za utumiaji kama vile Kubernetes Ingress.

Hiyo ndiyo tu tuliyokuwa nayo kwa ajili yako katika mwongozo huu. Kwa habari zaidi kuhusu kila zana katika orodha hii, angalia tovuti zao husika. Usisahau kushiriki mawazo yako nasi kupitia fomu ya maoni hapa chini.