Différences entre les versions de « Apache config »
| (2 versions intermédiaires par 2 utilisateurs non affichées) | |||
| Ligne 1 : | Ligne 1 : | ||
* Order allow & deny | === Virtual host === | ||
Lorsque l'on met un virtual host : <VirtualHost *>, cela peut générer des warning, mais surtout il sera utilisé uniquement si tous les autres VirtualHost n'ont pas matché | |||
=== Order allow & deny === | |||
<pre> | <pre> | ||
Allow,Deny | Allow,Deny | ||
| Ligne 51 : | Ligne 54 : | ||
=== Quelques exemples d'un fichier httpd.conf === | |||
<pre> | <pre> | ||
Version actuelle datée du 3 septembre 2013 à 09:07
Virtual host[modifier]
Lorsque l'on met un virtual host : <VirtualHost *>, cela peut générer des warning, mais surtout il sera utilisé uniquement si tous les autres VirtualHost n'ont pas matché
Order allow & deny[modifier]
Allow,Deny
Dans un premier temps, toutes les directives Allow sont évaluées ; au moins une d'entre elles doit correspondre, sinon la requête est rejetée. Ensuite, toutes les directives Deny
sont évaluées. Si au moins l'une d'entre elles correspond, la requête est rejetée. Enfin, toute requête qui ne correspond à aucune directive Allow ou Deny est rejetée par défaut.
Deny,Allow
Dans un premier temps, toutes les directives Deny sont évaluées ; Si au moins une d'entre elles correspond, la requête est rejetée, à moins qu'elle corresponde aussi à une
directive Allow. Toute requête qui ne correspond à aucune directive Allow ou Deny est autorisée.
----------------------------------------------------------------------------------------------------------------------------------------------
Match | Résultat Allow,Deny | Résultat Deny,Allow |
-----------------------------------|-------------------------------------------------|-------------------------------------------------------|
Correspond à Allow seulement | Requête autorisée | Requête autorisée |
Correspond à Deny seulement | Requête rejetée | Requête rejetée |
Aucune correspondance | Par défaut la seconde directive : rejet | Par défaut la seconde directive : autorisation |
Correspond à Allow & Deny | La dernière correspondance l'emporte : rejet | La dernière correspondance l'emporte : autorisation |
- Dans cet exemple, tous les hôtes du domaine example.org ont l'autorisation d'accès ; tous les autres voient leur accès refusé.
Order Deny,Allow Deny from all Allow from example.org
- Dans l'exemple suivant, tous les hôtes du domaine example.org ont l'autorisation d'accès, sauf ceux du sous-domaine foo.example.org qui voient leur accès refusé. Tous les hôtes qui
ne sont pas dans le domaine example.org sont rejetés car le statut par défaut est positionné sur Deny, et consiste donc en un refus d'accès.
Order Allow,Deny Allow from example.org Deny from foo.example.org
Par contre, si la valeur de la directive Order, dans l'exemple précédent, est Deny,Allow, tout le monde a l'autorisation d'accès. Ceci est dû au fait que Allow from example.org sera évalué en dernier, sans tenir compte de l'ordre réel dans lequel les directives apparaissent dans le fichier de configuration, et va l'emporter sur Deny from foo.example.org. Tout hôte qui n'est pas dans le domaine example.org aura aussi l'autorisation d'accès car le statut par défaut est positionné sur Allow et constitue donc une autorisation d'accès.
La présence d'une directive Order peut affecter le contrôle d'accès à une partie du serveur même en l'abscence de directives Allow et Deny associées, à cause de son influence sur le statut par défaut. L'exemple ci-dessous, va interdire tout accès au répertoire /www à cause du statut d'accès par défaut qui est défini à Deny.
<Directory /www>
Order Allow,Deny
</Directory>
La directive Order ne contrôle l'ordre dans lequel sont traitées les directives d'accès qu'au cours de chaque phase du traitement de la configuration du serveur. Ceci implique, par exemple, qu'une directive Allow ou Deny située dans une section <Location> sera toujours évaluée après une directive Allow ou Deny située dans une section <Directory> ou un fichier .htaccess, sans tenir compte de la définition de la directive Order. Pour plus de détails à propos de la fusion des sections de configuration, voir le document Comment fonctionnent les sections Directory, Location et Files.
Quelques exemples d'un fichier httpd.conf[modifier]
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %T %v" full
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %P %T" debug
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b %t %T\"%{Referer}i\" \"%{User-Agent}i\"" perso
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
ServerSignature Off
ServerTokens ProductOnly
<VirtualHost 212.43.246.8>
DocumentRoot /var/www/epyceprod
ErrorLog /var/log/apache/error.log
CustomLog /var/log/apache/blaxeenprod.com/epyceprod.com.fr.log combined
ServerName prod.epyce.com
php_value include_path .:/var/www/epyceprod
<Files ~ ".inc|.sql|.xml|.txt">
Order allow,deny
Deny from all
Satisfy All
</Files>
</VirtualHost>
<VirtualHost 212.43.246.8>
ServerName stats.epyce.com
RedirectPermanent / http://www.epyce.com//awstats/awstats.pl?config=www.epyce.com
</VirtualHost>
<Directory /var/www/epyce/voc/arthur>
Order deny,allow
allow from 127.0.0.
deny from all
</Directory>