Omvända prox­y­serv­rar används som en mel­lan­lig­gan­de nät­verks­kom­po­nent för att säkra servrar för of­fent­li­ga on­li­ne­tjäns­ter. De tar emot ser­ver­för­fråg­ning­ar å serv­rar­nas vägnar och vi­da­re­be­ford­rar dem till an­vän­dar­na.

Hur fungerar en omvänd proxy?

I huvudsak fungerar en prox­y­ser­ver som en kom­mu­ni­ka­tions­för­med­la­re i nätverket, som tar emot för­fråg­ning­ar och vi­da­re­be­ford­rar dem till en målserver på klientens vägnar. En omvänd proxy är placerad mellan klienter (t.ex. webb­lä­sa­re) och backend-servrar (t.ex. webb­serv­rar, da­ta­bas­serv­rar eller ap­pli­ka­tio­ner). Den aktiveras när en kli­ent­be­gä­ran görs och avgör om och till vilken intern ser­ver­kom­po­nent begäran ska dirigeras. Processen följer dessa fyra grund­läg­gan­de steg:

  1. Mot­ta­gan­de av kli­ent­för­frå­gan: Den omvända proxyn ac­cep­te­rar HTTP, HTTPS eller andra för­fråg­ning­ar som FTP eller WebSocket.
  2. Analysera förfrågan: Proxyn un­der­sö­ker om förfrågan är giltig, om den utgör någon sä­ker­hets­risk och om det finns en cachad version till­gäng­lig.
  3. Vi­da­re­be­ford­ran till rätt server: Om förfrågan inte kan besvaras från cachen skickar den omvända proxyn förfrågan till en av de interna servrarna.
  4. Svar till klienten: Den omvända proxyn tar emot svaret från backend-servern, bearbetar det vidare om det behövs (t.ex. kryp­te­ring) och skickar tillbaka det till den begärande klienten.
Bild: Schematic representation of a reverse proxy
Reverse proxy and web server are located in a shared internal network

Vad är skill­na­den jämfört med fram­åt­prox­y­serv­rar?

Medan omvända prox­y­serv­rar, som nämnts tidigare, placeras mellan klienter och backend-servrar, placeras fram­åt­prox­y­serv­rar mellan klienter och internet. En fram­åt­prox­y­ser­ver ka­na­li­se­rar alla kli­ent­för­fråg­ning­ar och vi­da­re­be­ford­rar dem med sin egen av­sän­dar­a­dress till måls­erv­rar­na på internet. Serverns svar når också proxyn först innan de dis­tri­bue­ras till re­spek­ti­ve klientens enheter. Dessa förblir anonyma – såvida det inte är en trans­pa­rent proxy. Medan en fram­åt­proxy skyddar klienter i det interna nätverket från externa hot, säkrar en omvänd proxy servrar i ett of­fent­ligt nätverk och optimerar deras till­gäng­lig­het.

Medan omvända prox­y­serv­rar erbjuder tydliga fördelar för ser­ver­struk­tu­rer genom funk­tio­ner som last­ba­lan­se­ring och olika sä­ker­hets­funk­tio­ner, ligger styrkan hos fram­åt­prox­y­serv­rar i kli­ent­skyd­det.

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

An­vänd­nings­om­rå­den för omvända prox­y­serv­rar

Genom att samla kli­ent­för­fråg­ning­ar kan omvända prox­y­serv­rar kon­trol­le­ra in­kom­man­de trafik i hög grad. Detta gör det bland annat möjligt att till­han­da­hål­la flera servrar under samma URL, fördela för­fråg­ning­ar jämnt mellan olika servrar och påskynda da­ta­hämt­ning genom caching. Nedan följer de vik­ti­gas­te an­vänd­nings­om­rå­de­na för en omvänd prox­y­ser­ver.

Last­ba­lan­se­ring

En omvänd proxy placerad framför gör det möjligt att länka en URL till olika servrar i det privata nätverket. Detta fördelar in­kom­man­de för­fråg­ning­ar över flera servrar. En sådan last­ba­lan­se­ring för­hind­rar över­be­last­ning av enskilda system och kom­pen­se­rar vid fel. Om en server är otill­gäng­lig på grund av hårdvaru- eller pro­gram­va­ru­fel om­för­de­lar proxyns last­ba­lan­se­rings­mo­dul in­kom­man­de för­fråg­ning­ar till åter­stå­en­de servrar. Detta sä­ker­stäl­ler till­gäng­lig­he­ten av ser­ver­tjäns­ter även vid fel.

Caching

För att påskynda ser­ver­tjäns­ter­na kan omvända prox­y­serv­rar erbjuda en funktion som gör det möjligt att cache­lag­ra ofta ef­ter­frå­gat innehåll. Denna cache­lag­ring gör det möjligt för prox­y­ser­vern att själv­stän­digt besvara re­pe­ti­ti­va för­fråg­ning­ar, antingen helt eller delvis. Statiskt innehåll som bilder eller CSS-stil­mal­lar lagras i proxyns cache. Som ett resultat behöver lite eller ingen data hämtas från backend-servern, vilket avsevärt påskyndar åt­komst­has­tig­he­ten till webb­tjäns­ter. Eftersom snabbt för­än­der­ligt innehåll inte alltid ga­ran­te­rar att proxyns cache har den aktuella versionen finns det dock en risk att föråldrad in­for­ma­tion levereras till begärande klienter.

Skydds- och sä­ker­hets­åt­gär­der

En omvänd proxy fungerar som ett slags skydd för backend-servrarna och kan erbjuda olika sä­ker­hets­funk­tio­ner i denna roll:

  • DDoS-skydd: Omvända prox­y­serv­rar kan upptäcka och blockera misstänkt eller ovanligt hög trafik under DDoS-attacker innan den når backend-servrarna.
  • Web Ap­pli­ca­tion Firewall (WAF): Många omvända prox­y­serv­rar har en WAF som kan filtrera bort skadliga för­fråg­ning­ar som SQL-in­jek­tio­ner eller Cross-Site Scripting (XSS).
  • IP-vitlista och svart­lis­ta: Den omvända proxyn kan blockera vissa IP-adresser eller endast tillåta an­slut­ning­ar från specifika nätverk om det behövs.
  • Döljning av backend-servrar: Den omvända proxyn för­hind­rar att backend-serv­rar­nas interna IP-adresser blir synliga för all­män­he­ten, vilket gör attacker svårare.

Kryp­te­ring

För att minska be­last­ning­en på backend-servrar kan även omvända prox­y­serv­rar användas för kryp­te­ring. I detta fall de­kryp­te­rar den klientens SSL/TLS-förfrågan (t.ex. en HTTPS-an­slut­ning), vi­da­re­be­ford­rar den de­kryp­te­ra­de datan till backend-servrarna och skickar tillbaka mot­sva­ran­de svar till klienten, återigen krypterat. Den interna kom­mu­ni­ka­tio­nen kan ske antingen krypterad eller okryp­te­rad.

Ano­ny­mi­se­ring

En omvänd proxy kan också användas för att ano­ny­mi­se­ra trafiken genom att dölja kli­en­ter­nas ur­sprung­li­ga IP-adresser eller ersätta dem med sina egna IP-adresser. Detta bidrar till att skydda kli­en­ter­nas in­tegri­tet, eftersom de faktiska IP-adres­ser­na inte syns i loggarna. Dessutom möjliggör detta geo­gra­fisk last­ba­lan­se­ring: för­fråg­ning­ar kan dirigeras till närmaste server beroende på an­vän­da­rens geo­gra­fis­ka plats.

Kom­pres­sion

Med rätt pro­gram­va­ra kan en omvänd proxy användas för att kom­pri­me­ra in­kom­man­de och utgående data. Ett populärt program för kom­pri­me­ring av webb­plat­ser är gzip, som ofta används i kom­bi­na­tion med webb­serv­rar­na Apache eller NGINX.

Gå till huvudmeny