Kään­tei­siä vä­li­tys­pal­ve­li­mia käytetään vä­lit­tä­jä­nä toimivina verk­ko­kom­po­nent­tei­na julkisten verk­ko­pal­ve­lu­jen pal­ve­li­mien suo­jaa­mi­sek­si. Ne vas­taa­not­ta­vat pal­ve­li­mil­le osoitetut pyynnöt pal­ve­li­mien puolesta ja vä­lit­tä­vät ne eteenpäin käyt­tä­jil­le.

Miten kään­tei­nen vä­li­tys­pal­ve­lin toimii?

Poh­jim­mil­taan vä­li­tys­pal­ve­lin toimii verkossa vies­tin­nän vä­lit­tä­jä­nä, joka vas­taa­not­taa pyyntöjä ja välittää ne asiakkaan puolesta koh­de­pal­ve­li­mel­le. Kään­tei­nen vä­li­tys­pal­ve­lin sijaitsee asiak­kai­den (esim. verk­ko­se­lai­met) ja taus­ta­pal­ve­li­mien (esim. verk­ko­pal­ve­li­met, tie­to­kan­ta­pal­ve­li­met tai so­vel­luk­set) välissä. Se ak­ti­voi­tuu, kun asiakas tekee pyynnön, ja päättää, oh­ja­taan­ko pyyntö si­säi­sel­le pal­ve­lin­kom­po­nen­til­le ja mihin. Prosessi etenee seu­raa­vien neljän pe­rus­vai­heen mu­kai­ses­ti:

  1. Asia­kas­pyyn­nön vas­taa­not­ta­mi­nen: Kään­tei­nen vä­li­tys­pal­ve­lin hyväksyy HTTP-, HTTPS- tai muita pyyntöjä, kuten FTP- tai WebSocket-pyyntöjä.
  2. Pyynnön ana­ly­soin­ti: Vä­li­tys­pal­ve­lin tarkistaa, onko pyyntö kel­vol­li­nen, ai­heut­taa­ko se tur­val­li­suus­ris­ke­jä ja onko siitä saa­ta­vil­la vä­li­muis­tis­sa olevaa versiota.
  3. Vä­lit­tä­mi­nen sopivalle pal­ve­li­mel­le: Jos pyyntöön ei voida vastata vä­li­muis­tis­ta, kään­tei­nen vä­li­tys­pal­ve­lin lähettää pyynnön jollekin si­säi­sis­tä pal­ve­li­mis­ta.
  4. Vastaus asiak­kaal­le: Kään­tei­nen vä­li­tys­pal­ve­lin vas­taa­not­taa vas­tauk­sen taus­ta­pal­ve­li­mel­ta, kä­sit­te­lee sitä tar­vit­taes­sa edelleen (esim. salaus) ja lähettää sen takaisin pyynnön esit­tä­neel­le asiak­kaal­le.
Kuva: Schematic representation of a reverse proxy
Reverse proxy and web server are located in a shared internal network

Mitä eroa on eteenpäin vä­lit­tä­viin vä­li­tys­pal­ve­li­miin ver­rat­tu­na?

Kuten aiemmin mai­nit­tiin, kään­tei­set vä­li­tys­pal­ve­li­met si­joi­te­taan asiak­kai­den ja taus­ta­pal­ve­li­mien väliin, kun taas eteenpäin vä­lit­tä­vät vä­li­tys­pal­ve­li­met si­joi­te­taan asiak­kai­den ja in­ter­ne­tin väliin. Eteenpäin välittävä vä­li­tys­pal­ve­lin kanavoi kaikki asia­kas­pyyn­nöt ja välittää ne omalla lä­het­tä­jän osoit­teel­laan in­ter­ne­tis­sä si­jait­se­vil­le koh­de­pal­ve­li­mil­le. Myös pal­ve­lin­ten vas­tauk­set saapuvat ensin vä­li­tys­pal­ve­li­meen, ennen kuin ne jaetaan vas­taa­vil­le asia­kas­ko­neil­le. Nämä pysyvät ni­met­tö­mi­nä – ellei kyseessä ole lä­pi­nä­ky­vä vä­li­tys­pal­ve­lin. Kun eteenpäin välittävä vä­li­tys­pal­ve­lin suojaa si­sä­ver­kon asiak­kai­ta ul­koi­sil­ta uhilta, kään­tei­nen vä­li­tys­pal­ve­lin suojaa julkisen verkon pal­ve­li­mia ja optimoi niiden saa­vu­tet­ta­vuu­den.

Vaikka kään­teis­vä­li­tys­pal­ve­li­met tarjoavat pal­ve­lin­ra­ken­teil­le selkeitä etuja esi­mer­kik­si kuor­mi­tuk­sen ta­sa­pai­not­ta­mi­sen ja eri­lais­ten tie­to­tur­va­toi­min­to­jen ansiosta, eteen­päin­vä­li­tys­pal­ve­li­mien vahvuudet liittyvät asiak­kai­den suo­jaa­mi­seen.

Kuva: Schematic representation of a forward proxy
Unlike a reverse proxy, the forward proxy is located in a shared internal network with the clients.

Kään­teis­ten vä­li­tys­pal­ve­lin­ten käyt­tö­koh­teet

Asia­kas­pyyn­tö­jen yh­dis­tä­mi­sen avulla kään­teis­vä­li­tys­pal­ve­li­met voivat hallita saapuvaa lii­ken­net­tä tarkasti. Tämä mah­dol­lis­taa muun muassa useiden pal­ve­li­mien tar­joa­mi­sen saman URL-osoitteen alla, pyyntöjen tasaisen ja­kau­tu­mi­sen eri pal­ve­li­mil­le sekä tie­don­ha­kun no­peut­ta­mi­sen vä­li­muis­tin avulla. Alla on lueteltu kään­teis­vä­li­tys­pal­ve­li­men tär­keim­mät käyt­tö­koh­teet.

Kuor­mi­tuk­sen ta­sa­pai­not­ta­mi­nen

Etu­puo­lel­le si­joi­tet­tu kään­tei­nen vä­li­tys­pal­ve­lin mah­dol­lis­taa URL-osoitteen yh­dis­tä­mi­sen yk­si­tyis­ver­kos­sa si­jait­se­viin eri pal­ve­li­miin. Tämä jakaa saapuvat pyynnöt useiden pal­ve­li­mien kesken. Tällainen kuor­mi­tuk­sen ta­sa­pai­not­ta­mi­nen estää yk­sit­täis­ten jär­jes­tel­mien yli­kuor­mit­tu­mi­sen ja kompensoi vi­ka­ti­lan­tei­ta. Jos pal­ve­li­meen ei saada yhteyttä lait­teis­to- tai oh­jel­mis­to­vir­hei­den vuoksi, vä­li­tys­pal­ve­li­men kuor­mi­tuk­sen ta­sa­pai­not­ta­mis­mo­duu­li ohjaa saapuvat pyynnöt jäljellä oleville pal­ve­li­mil­le. Tämä varmistaa pal­ve­lin­pal­ve­lui­den saa­ta­vuu­den myös vi­ka­ti­lan­teis­sa.

Vä­li­muis­ti

Pal­ve­lin­pal­ve­lui­den no­peut­ta­mi­sek­si kään­teis­vä­li­tys­pal­ve­li­met voivat tarjota omi­nai­suu­den, jonka avulla usein pyydetty sisältö voidaan tallentaa vä­li­muis­tiin. Tämän vä­li­muis­ti­toi­min­non ansiosta vä­li­tys­pal­ve­lin voi vastata tois­tu­viin pyyn­töi­hin joko osittain tai kokonaan itse. Staat­ti­nen sisältö, kuten kuvat tai CSS-tyy­li­tie­dos­tot, tal­len­ne­taan vä­li­tys­pal­ve­li­men vä­li­muis­tiin. Tämän seu­rauk­se­na taus­ta­pal­ve­li­mel­ta ei tarvitse hakea juuri lainkaan dataa, mikä nopeuttaa mer­kit­tä­väs­ti verk­ko­pal­ve­lu­jen käyttöä. Koska nopeasti muuttuva sisältö ei kui­ten­kaan aina takaa, että vä­li­tys­pal­ve­li­men vä­li­muis­tis­sa on ajan­ta­sai­nen versio, on olemassa riski, että pyynnön esit­tä­neil­le asiak­kail­le toi­mi­te­taan van­hen­tu­nut­ta tietoa.

Suojaus- ja tur­val­li­suus­toi­men­pi­teet

Kään­tei­nen vä­li­tys­pal­ve­lin toimii erään­lai­se­na suojana taus­ta­pal­ve­li­mil­le ja voi tässä roolissa tarjota erilaisia tur­val­li­suus­toi­min­to­ja:

  • DDoS-suojaus: Kään­teis­vä­li­tys­pal­ve­li­met pystyvät ha­vait­se­maan ja estämään epäi­lyt­tä­vän tai epä­ta­val­li­sen suuren lii­ken­teen DDoS- hyök­käys­ten aikana, ennen kuin se ehtii saavuttaa taus­ta­pal­ve­li­met.
  • Web-so­vel­lus­ten palomuuri (WAF): Monissa kään­teis­vä­li­tys­pal­ve­li­mis­sa on WAF, joka voi suodattaa hai­tal­li­sia pyyntöjä, kuten SQL-in­jek­tioi­ta tai si­vus­to­jen välistä skriptiä (XSS).
  • IP-sal­lit­tu­jen ja kiel­let­ty­jen luettelot: Kään­tei­nen vä­li­tys­pal­ve­lin voi estää tiettyjä IP-osoit­tei­ta tai sallia yhteydet vain tietyistä verkoista tar­vit­taes­sa.
  • Taus­ta­pal­ve­lin­ten pii­lot­ta­mi­nen: Kään­tei­nen vä­li­tys­pal­ve­lin estää taus­ta­pal­ve­lin­ten sisäisten IP-osoit­tei­den nä­ky­vyy­den jul­ki­ses­ti, mikä vai­keut­taa hyök­käyk­siä.

Salaus

Ta­ka­pal­ve­li­mien kuor­mi­tuk­sen vä­hen­tä­mi­sek­si sa­lauk­ses­sa voidaan käyttää myös kään­teis­vä­li­tys­pal­ve­li­mia. Tällöin se purkaa asiakkaan SSL/TLS-pyynnön (esim. HTTPS-yhteyden), välittää puretun datan ta­ka­pal­ve­li­mil­le ja lähettää vastaavan vas­tauk­sen takaisin asiak­kaal­le uudelleen salattuna. Sisäinen tie­don­siir­to voi tapahtua joko salattuna tai sa­laa­mat­to­ma­na.

Ano­ny­mi­soin­ti

Kään­teis­tä vä­li­tys­pal­ve­lin­ta voidaan käyttää myös lii­ken­teen ano­ny­mi­soin­tiin peit­tä­mäl­lä asiak­kai­den al­ku­pe­räi­set IP-osoitteet tai kor­vaa­mal­la ne omilla IP-osoit­teil­laan. Tämä auttaa suo­jaa­maan asiak­kai­den yk­si­tyi­syyt­tä, sillä to­del­li­set IP-osoitteet eivät näy lo­ki­tie­dois­sa. Lisäksi tämä mah­dol­lis­taa maan­tie­teel­li­sen kuor­mi­tuk­sen ta­sa­pai­not­ta­mi­sen: pyynnöt voidaan ohjata lä­him­mäl­le pal­ve­li­mel­le käyttäjän maan­tie­teel­li­sen sijainnin pe­rus­teel­la.

Pak­kaa­mi­nen

Oikean oh­jel­mis­ton avulla kään­teis­tä vä­li­tys­pal­ve­lin­ta voidaan käyttää saapuvan ja lähtevän datan pak­kaa­mi­seen. Suosittu ohjelma verk­ko­si­vus­to­jen pak­kaa­mi­seen on gzip, jota käytetään usein yhdessä Apache- tai NGINX-verk­ko­pal­ve­li­mien kanssa.

Siirry pää­va­lik­koon