The server-status
page gives you a wealth of information about your apache server, and among other things it is necessary for the Apache munin plugin to work. However, by default it exposes sensitive data when run behind a squid reverse proxy.
In order to lock this down, you need to modify your /etc/squid/squid.conf
file slightly…
acl no_stats urlpath_regex /server-status
http_access deny no_stats
This defines an ACL that will prevent squid from giving access to any request ending in /server-status
. Because, in a reverse proxy configuration, it is squid that is hit when a client request a page from port 80, this prevents public access.
You’re not quite done though, because this setting assumes that your real web server (sitting behind the squid proxy on a different port) is NOT publicly visible. This can be achieved by placing it behind the firewall.
Munin
If you’re using munin to monitor your apache processes, you’ll need to make a small modification to the /etc/munin/plugin-conf.d/munin-node
file, add/modify the following:
[apache_*]
env.url http://127.0.0.1:%d/server-status?auto
env.ports [apache server port]
This will tell the apache plugins where the server status page is, and what port the real apache instance is running on.