From ed408d28e55c85d267c037d7176871da5115d791 Mon Sep 17 00:00:00 2001
From: Luca Toscano Satisfy
are no longer needed.
However to provide backwards compatibility for older configurations, these
directives have been moved to the mod_access_compat
module.
The directives provided by mod_access_compat
have
+ been deprecated by mod_authz_host
.
+ Mixing old directives like Order
, Allow
or Deny
with new ones like
+ Require
is technically possible
+ but discouraged. The mod_access_compat
module was created to support
+ configurations containing only old directives to facilitate the 2.4 upgrade.
+ Please check the upgrading guide for more
+ information.
+
The directives provided by mod_access_compat
have
- been deprecated by the new authz refactoring. Please see
- mod_authz_host
.
mod_authz_host
.
+ Mixing old directives like Order
, Allow
or Deny
with new ones like
+ Require
is technically possible
+ but discouraged. This module was created to support
+ configurations containing only old directives to facilitate the 2.4 upgrade.
+ Please check the upgrading guide for more
+ information.
+
+
In general, access restriction directives apply to all
access methods (GET
, PUT
,
diff --git a/docs/manual/upgrading.html.en b/docs/manual/upgrading.html.en
index 7604ebf0e2..8c1863c259 100644
--- a/docs/manual/upgrading.html.en
+++ b/docs/manual/upgrading.html.en
@@ -138,6 +138,15 @@
although for compatibility with old configurations, the new
module mod_access_compat
is provided.
Mixing old directives like Order
, Allow
or Deny
with new ones like
+ Require
is technically possible
+ but discouraged. mod_access_compat
was created to support
+ configurations containing only old directives to facilitate the 2.4 upgrade.
+ Please check the examples below to get a better idea about issues that might arise.
+
Here are some examples of old and new ways to do the same access control.
@@ -164,6 +173,53 @@ Allow from example.orgRequire host example.org
In the following example, mixing old and new directives leads to + unexpected results.
+ +DocumentRoot "/var/www/html" + +<Directory "/"> + AllowOverride None + Order deny,allow + Deny from all +</Directory> + +<Location "/server-status"> + SetHandler server-status + Require 127.0.0.1 +</Location> + +access.log - GET /server-status 403 127.0.0.1 +error.log - AH01797: client denied by server configuration: /var/www/html/server-status+
Why httpd denies access to servers-status even if the configuration seems to allow it?
+ Because mod_access_compat
directives take precedence
+ over the mod_authz_host
one in this configuration
+ merge scenario.
This example conversely works as expected:
+ +DocumentRoot "/var/www/html" + +<Directory "/"> + AllowOverride None + Require all denied +</Directory> + +<Location "/server-status"> + SetHandler server-status + Order deny,allow + Deny from all + Allow From 127.0.0.1 +</Location> + +access.log - GET /server-status 200 127.0.0.1+
So even if mixing configuration is still + possible, please try to avoid it when upgrading: either keep old directives and then migrate + to the new ones on a later stage or just migrate everything in bulk. +
-- 2.50.0