If you are using Apache 2.4 and above, you might get the following error message. This might specifically start happening after you’ve upgraded from an older version of apache.
For example, after you’ve upgraded from Apache 2.2 to a latest version, you might start getting the following error message.
AH01630: client denied by server configuration: /home/myapp/server/
In my case, I had the following configuration in the httpd.conf, which was working without any problem until the upgrade.
# vi httpd.conf Alias /server/ "/home/myapp/server/" <Directory "/home/myapp/server"> Options Indexes MultiViews AllowOverride None Order deny,allow Allow from all </Directory>
Upon further research, I found out that, starting from Apache 2.4, there are some changes in the access control, as explained in this apache document.
In my example, after I added “Require all granted”, it started working properly.
# vi httpd.conf Alias /server/ "/home/myapp/server/" <Directory "/home/myapp/server"> Options Indexes MultiViews AllowOverride None Require all granted </Directory>
So, keep the following in mind:
- Remove any “Order deny,allow”, “Order allow,deny”, and related lines
- Replace “Deny from all” to “Require all denied”
- Replace “Allow from all” to “Require all granted”
- If you are allowing any specific hostname, change them accordingly. For example, replace “Allow from 192.168.1.2” to “Require host 192.168.1.2”
Comments on this entry are closed.
That is true, “Require all granted” helps, thank you for this post. It was truly helpful.