I am using Apache 2.4.18 on Ubuntu.
I want to allow reading server status only from localhost.
In /etc/apache2/mods-enabled/status.conf
I have:
SetHandler server-status
Require ip 127.0.0.1
I have read https://httpd.apache.org/docs/2.4/howto/access.html and and from I belive the above configuration should be working. I have restarted Apache to ensure that new configuration is active. However the status page is still open for reading from anywhere.
In /etc/apache2/sites-enabled/mysite.conf
I have:
DocumentRoot /var/www
Require all granted
What is wrong with my configuration?
Answer
From what i can see, the virtual host config file seems to take precedence over the mod_status
config file.
Actually you grant all to /
within mysite.conf
:
Require all granted
This results in that everyone can access /server-status
.
You would have to manage permissions to /server-status
in the virtual host config file itself /etc/apache2/mods-enabled/status.conf
:
DocumentRoot /var/www
Require all granted
Require local
From there, whatever permissions you set in /etc/apache2/mods-enabled/status.conf
they will be ignored as /etc/apache2/mods-enabled/status.conf
takes precedence.
No comments:
Post a Comment