Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

From Wikipedia "In computer networks, a reverse proxy is a type of proxy server that retrieves resources on behalf of a client from one or more servers. These resources are then returned to the client as though it originated from the reverse proxy itself.[1] While a forward proxy is usually situated between the client application (such as a web browser) and the server(s) hosting the desired resources, a reverse proxy is usually situated closer to the server(s) and will only return a configured set of resources."

How would you explain the term 'reverse proxy' to a non-technical person?


Background to the question:

I am teaching myself to code with the goal of creating a databound webapp by myself. Since I've started, I found myself doing more non-programming related tasks, a gotcha no one really told me about. So in a bid to understand the various components that fit together in creating a webapp, I would like to better understand the role of webservers and what they do and how they work. Of which, I came across nginx which provides a reverse proxy service hence the question.

share|improve this question
"non-technical person" is too vague and too hard to explain this to at all. A non-technical person doesn't understand what a server is, doesn't understand what a network is, and probably barely understands that there's more to the computer than the screen/keyboard/mouse in front of them. – freiheit Apr 1 '11 at 6:44
Why are you trying to explain this to somebody? – freiheit Apr 1 '11 at 6:44
That person is myself.. I come from a non-technical background but trying to learn to code. – Nai Apr 1 '11 at 9:30
Presumably you're learning this from some kind of context, and sharing this with us might help explain it to you. You're not trying to learn computing by looking through a list of computer terminology and asking people to explain it to you, right? – RobM Apr 1 '11 at 10:46
I've updated my question to reflect your points. – Nai Apr 4 '11 at 3:02
up vote 2 down vote accepted

A reverse proxy is a server that looks like a normal web server to the rest of the world, but isn't actually serving its own content. When it gets a request, it actually asks a different server for the answer, and passes it back to the client.

share|improve this answer

A normal [forward] proxy sits on the same network as the client computer running a Web browser. The Web browser must be configured to use it under preferences. It is normally used to cache websites so that only one copy of the Google logo needs to be downloaded even though you have ten people all loading Since they all ask the proxy to download it, the proxy stores a copy in it's cache the first time and serves that copy to everyone else. A second use for a normal proxy is access control. Perhaps you want to block certain websites or only allow certain people on to the Internet. You can set your router to only allow access through the proxy where you have complete control of who's using what.

A reverse proxy sits on the server-side of things right next to the actual web server. It's invisible to clients unlike a normal proxy. As far as they know, they are talking directly to the web server. One use for a reverse proxy is load-balancing. A reverse proxy can send a request to one or more web servers behind it depending on which servers are running and not over-loaded. It can also be used to allow multiple web servers to share an IP Address and other more advanced techniques.

Hope this was not too technical!

share|improve this answer
It's too technical. – Nai Apr 1 '11 at 6:29
Ok, a normal, regular, plain-old proxy is run on the side of the Internet where users are browsing the web. A reverse proxy is run on the opposite side the web servers sit hosting your favorite web sites. That's as non-technical as I can get. – penguin359 Apr 1 '11 at 6:44

How about:

A Reverse Proxy is like a web-browser on the server, that will fetch stuff from a different server, transparently to the end-user.

share|improve this answer
By transparent you mean the end-user knows whats happening? – Nai Apr 1 '11 at 9:31
No, the opposite: it all Just Happens Magically without the end-user knowing about it. – nickgrim Apr 1 '11 at 9:42

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.