0

It has nothing to do file-descriptors. Is it some sort of connection between different protocols? Does there exist more like that? Reverse -proxy? Direct -proxy? Indirect -proxy? Does proxy mean 3-layer, 7-layer or different layer in OSI reference model? If you have NAT, you have 3-layer while 7-layer is the common proxy according to Wikipedia here. The Wikipedia continues "Because NAT operates at layer-3, it is less resource-intensive than the layer-7 proxy, but also less flexible" -- there are different kind of ways of doing the proxy:

enter image description here

enter image description here

So now a very stupid and irrogant question "What is a proxy in Apache?"

Other ignorant Questions by which I try to understand the proxies deeper

  1. https://stackoverflow.com/questions/12397242/explain-apache-mod-proxy-module-is-it-overused-and-many-times-a-red-herring-w

  2. Explain CouchDB's serving of websites, is CouchDB bundled somehow with Apache and how does it work?

Community
  • 1
  • 1
hhh
  • 50,788
  • 62
  • 179
  • 282

2 Answers2

2

Apache is a layer-7 proxy (as far as OSI is concerned), it doesn't use network address translation or any type of packet mangling/rewriting. It receives a request and based on some rules/configuration, makes a request on behalf of the client. Apache can act as a forward proxy and/or reverse proxy. In your images above, apache would be running on the blob that is red.

  • In the first image, apache would be acting as a reverse proxy, it receives an HTTP request from the internet, and proxies it to a specific place internally.

  • In the second image, apache acts as a forward proxy. Local users are using it to request anything on the internet (within the rules/config).

  • In a reverse proxy, a request for a specific resource is received, e.g. http://my.homepage.com/, and apache, knowing that the content is actually internally located at http://192.168.2.45/my.homepage/, proxies the request to the internal location.

  • In a forward proxy, a user on a LAN requests http://www.google.com/, and either the browser or OS knows to proxy the request to a local proxy server (apache, the red blob in the image), and apache then makes the request to www.google.com on the user's behalf.

Jon Lin
  • 142,182
  • 29
  • 220
  • 220
  • So NAT -process implements some proxy? Proxy can be implemented by both software and hardware? Let's take a concreate example such as this service [here](http://web.airdroid.com/), you can modify your mobile with your Desktop if you are in the same network, apparently somehow using NAT -proxy. What is that proxy there? I think it is the 3-layer-proxy and an user -proxy. What about the other types of proxies such as `object proxy`, `proxy cache`, `resource proxy` and `web proxy`? Are they mostly layer-7 proxies? – hhh Sep 12 '12 at 23:48
  • 1
    @hhh No, NAT isn't a proxy. It does something similar to what reverse proxies do though. [Here's an example of using iptables and NAT to forward a port](http://serverfault.com/questions/140622/how-can-i-port-forward-with-iptables), it has the effect similar to a reverse proxy. Requests have the **destination** (DNAT) rewritten to the internal IP address, and the internal server responds like normal. – Jon Lin Sep 12 '12 at 23:51
  • So OAuth2.0-authenticated processes by user are **reverse proxies** and **user proxies**, correct? Please, note the definition of **user proxy** by Tanenbaum in my answer. So OAuth2.0 -based application must have two different proxies **user-proxy** and **resource-proxy**? If I understood right, proxy is a more general term -- the terminology applies to all processes, perhaps even processes by people not by machines? Apache is just a popular proxy due to the heavy used HTTP -protocol, right? – hhh Sep 13 '12 at 00:35
  • 1
    @hhh I'm not that familiar with OAuth2.0, but it looks like the Tenenbaum terminology is similar to the notion of "forward" (user) and "reverse" (resource) proxies. Note that my answer specifically addresses apache, which defines it's proxying as a forward and reverse proxy. The concept of proxying and proxies is a scope that is much larger than just apache. – Jon Lin Sep 13 '12 at 00:43
  • Can Apache proxy be anything such as object-proxy, user-proxy, resource-proxy or web-proxy? I am trying to see more colourful view of the term `proxy`. In a way, the AirDroid looks like Web-proxy but between two clients?! The book does not define a case where you have proxy between two clients, interesting. – hhh Sep 13 '12 at 01:17
0

There are different kinds of proxies! The key is a middleman, it is somehow in the middle of things A and B. I will use now terminology of Tanenbaum (more here). He defines for example in the context of the Globus security model two different proxies: user proxy and resource proxy. Then he defines object proxy that is an interface in object-distributed systems. Then he defines a web-proxy that is some sort of ancient idea when client-side web-browsers missed features such as ftp-support.

Now according to Jon Lin, reverse/forward proxies are similar to resource/user, respectively. Object proxy and web-proxy are special kind of implementations. I think they can be either resource -proxy or user -proxy, actually. If you have object -proxy, it could be implemented in different ways: you could could implement it so that user gives rights to use it, hence user proxy, or more global activity where it has different methods by which it co-operates with local environment from some global setting, hence a resource-proxy.

Related

  1. https://stackoverflow.com/questions/12398389/different-definitions-of-the-term-proxy/12398390#12398390
Community
  • 1
  • 1
hhh
  • 50,788
  • 62
  • 179
  • 282