Knowledge

Reverse proxy

Source đź“ť

20: 177:. This can make it more difficult to determine the actual location of the origin server / website and, for instance, more challenging to initiate legal action such as takedowns or block access to the website, as the IP address of the website may not be immediately apparent. Additionally, the reverse proxy may be located in a different jurisdiction with different legal requirements, further complicating the takedown process. 260:
Reverse proxies can operate wherever multiple web-servers must be accessible via a single public IP address. The web servers listen on different ports in the same machine, with the same local IP address or, possibly, on different machines with different local IP addresses. The reverse proxy analyzes
256:
In a technique named "spoon-feeding", a dynamically generated page can be produced all at once and served to the reverse proxy, which can then return it to the client a little bit at a time. The program that generates the page need not remain open, thus releasing server resources during the possibly
314:
Applications that were developed for the internal use of a company are not typically hardened to public standards and are not necessarily designed to withstand all hacking attempts. When an organisation allows external access to such internal applications via a reverse proxy, they might
39:). The internal server delivers the requested resource back to the proxy, which in turn delivers it to the client. The client on the Internet is unaware of the internal network, and cannot tell whether it is communicating with a proxy or directly with a web server. 63:, but in reality merely acts as an intermediary that forwards the client's requests to one or more ordinary web servers. Reverse proxies help increase scalability, performance, resilience, and security, but they also carry a number of risks. 310:
an existing Internet-facing server into a reverse proxy server. Compromised or converted systems allow external attackers to specify where they want their attacks proxied to, enabling their access to internal networks and systems.
295:
and the reverse proxy needs to filter/cache/compress or otherwise modify or improve the traffic, the proxy first must decrypt and re-encrypt communications. This requires the proxy to possess the
35:). The proxy inspects the request, determines that it is valid and that it does not have the requested resource in its own cache. It then forwards the request to some internal web server ( 489: 151:
of static content, which further reduces the load on these internal servers and the internal network. It is also common for reverse proxies to add features such as
299:
and its corresponding private key, extending the number of systems that can have access to non-encrypted data and making it a more valuable target for attackers.
544: 433: 82:
on a company-internal network, and only the reverse proxy needs to be directly exposed to the Internet. Reverse proxy servers are implemented in popular
306:
happen either when hackers succeed in abusing an existing reverse proxy that was intentionally deployed by an organisation, or when hackers succeed in
131:, which are used when the client is restricted to a private, internal network and asks a forward proxy to retrieve resources from the public Internet. 318:
If a reverse proxy is not configured to filter attacks or it does not receive daily updates to keep its attack signature database up to date, a
246:. Proxy caches of this sort can often satisfy a considerable number of website requests, greatly reducing the load on the origin server(s). 322:
vulnerability can pass through unfiltered, enabling attackers to gain control of the system(s) that are behind the reverse proxy server.
481: 384: 220:
from incoming requests to several servers, with each server supporting its own application area. In the case of reverse proxying
455: 536: 273: 425: 584: 170:
to the Internet while relaying requests to different internal servers based on the URL of the HTTP request.
511: 360: 187:
or distributed denial-of-service attacks (DDoS). Without a reverse proxy, removing malware or initiating
579: 217: 144: 116:
making requests through it and it can also read and modify any non-encrypted traffic and risks logging
228:
in each incoming request in order to match the relevant internal location of the requested resource.
199: 184: 156: 140: 348: 191:(while simultaneously dealing with the attack) on one's own site, for example, can be difficult. 56: 344:, its outage (e.g., by a misconfiguration or DDoS attack) could bring down all fronted domains. 574: 276:
without requiring application code to handle the logic of which version is served to a client.
303: 210: 380: 319: 188: 180: 83: 79: 407: 8: 70:
often set up reverse proxies to facilitate the communication between an Internet user's
262: 98: 90: 148: 78:. An important advantage of doing so is that the web servers can be hidden behind a 250: 239: 206: 152: 106: 44: 205:
itself, but instead offload the task to a reverse proxy that may be equipped with
296: 243: 235: 280: 195: 568: 174: 128: 459: 52: 537:"Cloudflare outage knocks out major sites and services, including Discord" 341: 269: 163: 71: 19: 326: 292: 221: 202: 167: 159:
to the communication channel between the client and the reverse proxy.
113: 86: 75: 67: 60: 315:
unintentionally increase their own attack surface and invite hackers.
334: 307: 261:
each incoming request and delivers it to the right server within the
232: 101:. Dedicated reverse proxy servers, such as the open source software 117: 330: 121: 102: 482:"Possible to add basic HTTP access authentication via HAProxy?" 183:
features can protect against common web-based attacks, like a
173:
Reverse proxies can hide the existence and characteristics of
94: 257:
extended time the client requires to complete the transfer.
109:, are used by some of the biggest websites on the Internet. 512:"forward_auth (Caddyfile directive) - Caddy Documentation" 408:"Nginx: the high-performance web server and reverse proxy" 231:
A reverse proxy can reduce load on its origin servers by
225: 351:
if there is no other way to access the back end server.
337:
in the hands of the third party who operates the proxy.
143:
use reverse proxies, together with other techniques, to
283:
to a web server that does not have any authentication.
166:, which, for example, allows them to present a single 373: 147:
between internal servers. Reverse proxies can keep a
335:
triad of confidentiality, integrity and availability
566: 325:Using the reverse proxy of a third party (e.g., 340:If a reverse proxy is fronting many different 448: 224:, the reverse proxy may have to rewrite the 23:Example scenario: A client on the Internet ( 456:"squid-cache wiki entry on "SpoonFeeding"" 249:A reverse proxy can optimize content by 18: 253:it in order to speed up loading times. 567: 124:if compromised by a malicious party. 436:from the original on 26 November 2020 405: 458:. Francesco Chemolli. Archived from 492:from the original on 4 October 2018 387:from the original on 28 August 2018 13: 383:. The Apache Software Foundation. 347:Reverse proxies can also become a 14: 596: 547:from the original on 22 June 2020 279:A reverse proxy can add access 198:, a web server may not perform 529: 504: 474: 418: 406:Reese, Will (September 2008). 399: 302:The vast majority of external 185:denial-of-service attack (DoS) 112:A reverse proxy can track all 1: 426:"Proxy servers and tunneling" 381:"Forward and reverse proxies" 366: 291:When the transit traffic is 268:Reverse proxies can perform 162:Reverse proxies can inspect 127:Reverse proxies differ from 7: 361:Network address translation 354: 10: 601: 141:content delivery networks 51:or surrogate server is a 286: 349:single point of failure 134: 27:) makes a request to a 40: 33:red oval in the middle 585:Internet architecture 211:TLS termination proxy 22: 333:) places the entire 274:multivariate testing 216:A reverse proxy can 181:Application firewall 55:that appears to any 16:Type of proxy server 218:distribute the load 139:Large websites and 66:Companies that run 462:on 25 January 2019 263:local area network 59:to be an ordinary 41: 580:Computer networks 541:finance.yahoo.com 45:computer networks 37:oval on the right 25:cloud on the left 592: 557: 556: 554: 552: 533: 527: 526: 524: 522: 508: 502: 501: 499: 497: 478: 472: 471: 469: 467: 452: 446: 445: 443: 441: 422: 416: 415: 403: 397: 396: 394: 392: 377: 244:web acceleration 207:TLS acceleration 145:balance the load 600: 599: 595: 594: 593: 591: 590: 589: 565: 564: 561: 560: 550: 548: 535: 534: 530: 520: 518: 516:caddyserver.com 510: 509: 505: 495: 493: 486:serverfault.com 480: 479: 475: 465: 463: 454: 453: 449: 439: 437: 424: 423: 419: 404: 400: 390: 388: 379: 378: 374: 369: 357: 297:TLS certificate 289: 240:dynamic content 209:hardware. (See 196:secure websites 194:In the case of 137: 129:forward proxies 17: 12: 11: 5: 598: 588: 587: 582: 577: 559: 558: 528: 503: 473: 447: 417: 398: 371: 370: 368: 365: 364: 363: 356: 353: 288: 285: 281:authentication 236:static content 175:origin servers 157:TLS encryption 136: 133: 15: 9: 6: 4: 3: 2: 597: 586: 583: 581: 578: 576: 575:Reverse proxy 573: 572: 570: 563: 546: 542: 538: 532: 517: 513: 507: 491: 487: 483: 477: 461: 457: 451: 435: 431: 427: 421: 413: 412:Linux Journal 409: 402: 386: 382: 376: 372: 362: 359: 358: 352: 350: 345: 343: 338: 336: 332: 328: 323: 321: 316: 312: 309: 305: 304:data breaches 300: 298: 294: 284: 282: 277: 275: 271: 266: 264: 258: 254: 252: 247: 245: 241: 237: 234: 229: 227: 223: 219: 214: 212: 208: 204: 201: 197: 192: 190: 186: 182: 178: 176: 171: 169: 165: 160: 158: 154: 150: 146: 142: 132: 130: 125: 123: 120:or injecting 119: 115: 110: 108: 104: 100: 96: 92: 88: 85: 81: 77: 73: 69: 64: 62: 58: 54: 50: 49:reverse proxy 46: 38: 34: 30: 29:reverse proxy 26: 21: 562: 549:. Retrieved 540: 531: 519:. Retrieved 515: 506: 494:. Retrieved 485: 476: 464:. Retrieved 460:the original 450: 438:. Retrieved 430:MDN Web Docs 429: 420: 411: 401: 389:. Retrieved 375: 346: 339: 324: 317: 313: 301: 290: 278: 267: 259: 255: 248: 230: 215: 193: 179: 172: 164:HTTP headers 161: 138: 126: 114:IP addresses 111: 65: 53:proxy server 48: 42: 36: 32: 28: 24: 551:14 December 270:A/B testing 251:compressing 242:, known as 222:web servers 153:compression 87:web servers 84:open-source 76:web servers 68:web servers 569:Categories 466:9 February 440:6 December 367:References 327:Cloudflare 308:converting 203:encryption 168:IP address 89:, such as 61:web server 391:26 August 293:encrypted 189:takedowns 118:passwords 545:Archived 496:27 April 490:Archived 434:Archived 385:Archived 355:See also 320:zero-day 80:firewall 74:and the 31:server ( 342:domains 331:Imperva 233:caching 122:malware 103:HAProxy 72:browser 521:22 May 414:(173). 97:, and 91:Apache 57:client 287:Risks 149:cache 107:Squid 99:Caddy 95:Nginx 553:2020 523:2022 498:2016 468:2011 442:2020 393:2018 272:and 238:and 135:Uses 105:and 47:, a 226:URL 213:.) 200:TLS 155:or 43:In 571:: 543:. 539:. 514:. 488:. 484:. 432:. 428:. 410:. 329:, 265:. 93:, 555:. 525:. 500:. 470:. 444:. 395:.

Index

A proxy server connecting the Internet to an internal network.
computer networks
proxy server
client
web server
web servers
browser
web servers
firewall
open-source
web servers
Apache
Nginx
Caddy
HAProxy
Squid
IP addresses
passwords
malware
forward proxies
content delivery networks
balance the load
cache
compression
TLS encryption
HTTP headers
IP address
origin servers
Application firewall
denial-of-service attack (DoS)

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑