Httpd Concepts: Difference between revisions
Line 15: | Line 15: | ||
A reverse proxy (or gateway), by contrast, appears to the client just like an ordinary web server. No special configuration on the client is necessary. The client makes ordinary requests for content in the name-space of the reverse proxy. The reverse proxy then decides where to send those requests, and returns the content as if it was itself the origin. | A reverse proxy (or gateway), by contrast, appears to the client just like an ordinary web server. No special configuration on the client is necessary. The client makes ordinary requests for content in the name-space of the reverse proxy. The reverse proxy then decides where to send those requests, and returns the content as if it was itself the origin. | ||
A typical usage of a reverse proxy is to provide Internet users access to a server that is behind a firewall. Reverse proxies can also be used to balance load among several back-end servers, or to provide caching for a slower back-end server. In addition, reverse proxies can be used simply to bring several servers into the same URL space. | A typical usage of a reverse proxy is to provide Internet users access to a server that is behind a firewall. Reverse proxies can also be used to balance load among several back-end servers, or to provide caching for a slower back-end server. In addition, reverse proxies can be used simply to bring several servers into the same URL space. | ||
httpd can be used to implement a reverse proxy with [[httpd mod_proxy|mod_proxy]]. | |||
=Worker= | =Worker= |
Revision as of 16:26, 6 December 2016
Internal
Multi-Processing Module (MPM)
https://home.feodorov.com:9443/wiki/Wiki.jsp?page=HttpdMultiProcessingModules
Forward Proxy
An ordinary forward proxy is an intermediate server that sits between the client and the origin server. In order to get content from the origin server, the client sends a request to the proxy naming the origin server as the target and the proxy then requests the content from the origin server and returns it to the client. The client must be specially configured to use the forward proxy to access other sites. A forward proxy is obvious. httpd can be used to implement a forward proxy with mod_proxy.
Reverse Proxy (Gateway)
A reverse proxy (or gateway), by contrast, appears to the client just like an ordinary web server. No special configuration on the client is necessary. The client makes ordinary requests for content in the name-space of the reverse proxy. The reverse proxy then decides where to send those requests, and returns the content as if it was itself the origin.
A typical usage of a reverse proxy is to provide Internet users access to a server that is behind a firewall. Reverse proxies can also be used to balance load among several back-end servers, or to provide caching for a slower back-end server. In addition, reverse proxies can be used simply to bring several servers into the same URL space.
httpd can be used to implement a reverse proxy with mod_proxy.
Worker
TODO
Virtual Host
- External Apache 2.4 Documentation - Virtual Hosts http://httpd.apache.org/docs/2.4/vhosts/
Overview
A virtual host is a container within a httpd instance serving a single logical web site. Multiple, separate web sites, even belonging to different domains, can be served off the same httpd instance without that being apparent to the client. The virtual hosts can be name-based or ip-address based.
Name-Based Virtual Host
The server relies on the client sending a "Host" HTTP header. It uses the value to locate the correct logical host. This technique allows many different virtual hosts to share the same IP address. The web browser must cooperate by sending the correct "Host" header, as part of each request.
Name-based virtual hosting is the preferred technique, unless you're using equipment that explicitly demands IP-based hosting.
IP Address-Based Virtual Host
IP-based virtual hosts use the IP address of the connection to determine the correct virtual host to serve. Therefore you need to have a separate IP address for each host.
Virtual Host Configuration
A virtual host is declared in the httpd configuration using the <VirtualHost> configuration element. More details on virtual host configuration:
SSL Support
httpd provides SSL/TLS encryption support via the mod_ssl module, which is an interface to OpenSSL library. More details about SSL configuration are available here: