When a webserver logs (many) successful CONNECT
requests (as evidenced by the 200
HTTP success codes) the web server is being used as a forward proxy.
When those requests do not originate exclusively from your own network your forward proxy is not (properly) secured with access restrictions. That is typically called an "open proxy".
Random clients on the internet can use an open proxy and your server to hide their own IP-address.
That can be intentional, by design and philosophy, for example to provide online anonymity and allow people to circumvent online censorship.
A big problem is that many open proxies (only) get used for abuse and nefarious purposes.
Typically an open proxy is the result of a misconfiguration though.
Fairly typical cause is novice administrators using the incorrect ProxyRequests
directive rather than (only) a ProxyPass to configure Apache httpd as a reverse proxy.
- Apache httpd should always be configured with
ProxyRequests Off
- A Reverse Proxy gets configured with a
ProxyPass
directive and does NOT need ProxyRequests on
- When you do need a forward proxy, use one of the many dedicated proxy servers rather than your web server IMHO.
- If you still want to use Apache httpd as forward proxy, secure your configuration and limit access to only authorised clients.