**Apache httpd 2.4 forward proxy**
Creates a forward proxy ([[http://www.squid-cache.org|squid]] drop in replacement) on TCP port 3128.
Proved to be faster than squid 3.5 on the same hardware when using Apache httpd [[https://httpd.apache.org/docs/2.4/mod/event.html|event MPM]].
Make sure you have a local DNS caching resolver, such as [[https://www.unbound.net|unbound]] or [[https://www.powerdns.com/recursor.html|PowerDNS Recursor]] configured in /etc/resolv.conf.
ProxyDomain directive protects the proxy from accessing domain hosts by filling up the local domain name or search domains from /etc/resolv.conf.
Apache httpd [[https://httpd.apache.org/docs/2.4/mod/mod_reqtimeout.html|mod_reqtimeout]] drops some long lived https connections in its default configuration (RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500).
Required modules: [[https://httpd.apache.org/docs/current/mod/mod_proxy.html|mod_proxy]], [[https://httpd.apache.org/docs/current/mod/mod_proxy_connect.html|mod_proxy_connect]].
Listen 3128
ProxyRequests On
ProxyDomain "."
CustomLog "/var/log/httpd/proxy_access_log" common
ErrorLog "/var/log/httpd/proxy_error_log"
RequestReadTimeout header=0 body=0
Require ip 192.168.0.0/16
Require ip 127.0.0.0/8
Require ip 10.0.0.0/8
Require ip 172.16.0.0/12
No caching is performed in this setup but it can be implemented using httpd [[https://httpd.apache.org/docs/current/mod/mod_cache.html|mod_cache]] and [[https://httpd.apache.org/docs/current/mod/mod_cache_disk.html|mod_cache_disk]].
To enable disk caching:
...
CacheRoot "/var/spool/httpd"
CacheEnable disk http://
CacheEnable disk ftp://
...
Couldn't find a way to disable "Server: Apache" header or to pass it unchanged from HTTP response headers.