Compatibilité - ProxyRequests est disponible uniquement dans les éditions 1.1 et suivantes d'Apache.
Permet d'autoriser Apache à fonctionner en tant que serveur proxy ou de l'en empêcher.
L'attribution de la valeur "off" à ProxyRequests n'empêche pas l'utilisation
de la directive ProxyPass.
Compatibilité - ProxyRemote est disponible uniquement dans les éditions 1.1 et suivantes d'Apache.
Désigne à ce proxy d'autres proxys avec lesquels il est susceptible de coopérer.
<masque-correspondance> est soit un masque d'URL pris en charge
par le serveur distant, soit une URL partielle pour laquelle
le serveur distant doit être utilisé. Vous pouvez également spécifier
'*' pour indiquer que le serveur distant doit être contacté pour toutes
les demandes. <serveur distant> est une URL partielle désignant
le serveur distant. Syntaxe :
Dans le dernier exemple, le proxy transmettra les demandes FTP, encore
encapsulées dans des demandes de proxy HTTP, à un autre proxy capable de les
traiter.
Compatibilité - ProxyPass est disponible uniquement dans les éditions 1.1 et suivantes d'Apache.
Cette directive permet de mapper plusieurs serveurs distants dans l'espace
du serveur local. Ce dernier n'agit pas comme un proxy au sens conventionnel
du terme, mais comme un miroir de ces serveurs distants.
<chemin> est le nom d'un chemin virtuel local, tandis
que <url> est l'URL partielle d'un serveur distant.
Supposons, par exemple, que l'adresse du serveur local soit
http://wibble.org/ et que la directive ProxyPass suivante soit définie :
ProxyPass /mirror/foo/ http://foo.com/
La demande locale <http://wibble.org/mirror/foo/bar> sera
alors convertie en interne en une demande de proxy <http://foo.com/bar>.
Compatibilité - ProxyPassReverse est disponible uniquement à compter de l'édition 1.3b6 d'Apache.
Cette directive permet à Apache d'ajuster l'URL dans l'en-tête Location des réponses
HTTP redirigées. Il s'agit d'une possibilité essentielle en cas d'utilisation d'Apache
comme proxy inverse. Elle évite que celui-ci ne soit contourné lorsque
des redirections sont définies sur les serveurs placés dernière lui.
<chemin> est le nom d'un chemin virtuel local.
<url> est l'URL partielle d'un serveur distant. L'un et l'autre s'utilisent
de la même manière que dans la directive ProxyPass.
Exemple :
Supposons, par exemple, que l'adresse du serveur local soit
http://wibble.org/ et que les directives ProxyPass
suivantes soit définies :
Une demande locale <http://wibble.org/mirror/foo/bar> sera
convertie en interne en une demande de proxy <http://foo.com/bar>
(fonction assurée par ProxyPass). La directive ProxyPassReverse
se chargera quant à elle des redirections envoyées par le serveur foo.com.
Ainsi, en cas de redirection de http://foo.com/bar vers
http://foo.com/quux, Apache insérera http://wibble.org/mirror/foo/quux
dans l'en-tête Location de la réponse HTTP redirigée avant de l'envoyer
au client.
La directive ProxyPassReverse peut aussi être
utilisée conjointement avec la fonction passe-proxy
("RewriteRule ... [P]")
à partir de mod_rewrite car elle ne dépend pas d'une directive
ProxyPass correspondante.
Compatibilité - AllowCONNECT est disponible uniquement à compter de l'édition 1.3.2 d'Apache.
La directive AllowCONNECT spécifie une liste de numéros de port
auxquels la méthode CONNECT du proxy peut se connecter. Les navigateurs
actuels utilisent cette méthode lorsqu'une connexion https est demandée
et que l'établissement de tunnels (tunneling) proxy sur http est en vigueur.
Initialement, seuls le port https par défaut (443) et le port snews par défaut
(563) sont activés. Utilisez la directive AllowCONNECT
pour supplanter ces valeurs par défaut et n'autoriser que les connexions aux
ports désignés.
Syntaxe - ProxyBlock <liste de mots/hôtes/domaines>
Contexte - configuration du serveur, hôte virtuel
Etat - Base
Module - mod_proxy
Compatibilité - ProxyBlock est disponible uniquement à compter de l'édition 1.2 d'Apache.
La directive ProxyBlock dresse une liste de mots, d'hôtes et/ou de domaines
séparés les uns des autres par des espaces. Le proxy bloque toutes les
demandes HTTP, HTTPS et FTP adressées aux sites dont les noms contiennent
l'un des mots, hôtes ou domaines figurant dans cette liste.
Au démarrage du serveur,
le module proxy tente également de déterminer les adresses IP des
différents éléments listés (puisque certains peuvent être des noms d'hôtes). S'il y parvient,
il les mémorise afin qu'elles soient également prises en compte dans la comparaison. Exemple :
Compatibilité - ProxyReceiveBufferSize est disponible uniquement à compter de l'édition
1.3 d'Apache.
Destinée à accroître le débit, la directive
ProxyReceiveBufferSize spécifie explicitement la taille de tampon réseau à
allouer aux connexions HTTP et FTP sortantes. La valeur indiquée doit être supérieure à
512 ou égale à 0 pour que la taille de tampon
par défaut du système soit utilisée.
Compatibilité - NoProxy est disponible uniquement à compter de l'édition
1.3 d'Apache.
Cette directive n'a d'utilité que pour les serveurs proxy Apache mis en oeuvre au sein d'intranets.
Elle dresse une liste de sous-réseaux, d'adresses IP, d'hôtes et/ou de domaines séparés les
uns des autres par des espaces. Une demande adressée à un hôte correspondant à un ou plusieurs
des éléments listés est toujours satisfaite directement, sans transiter par le ou les serveurs
proxy définis par la directive ProxyRemote.
Les arguments de la directive NoProxy sont décrits ci-après :
domaine
L'argument domaine est un nom de domaine DNS partiellement qualifié, précédé d'un point.
Il représente une liste d'hôtes qui, d'un point de vue logique, appartiennent tous au même domaine DNS ou à la
même zone (autrement dit, les noms de ces hôtes se terminent tous par le suffixe
domaine).
Exemples : .com.apache.org.
Pour distinguer les domaines des noms d'hôtess
(sur les plans syntaxique et sémantique, puisqu'un domaine DNS peut aussi faire l'objet
d'un enregistrement par le service DNS), les domaines commencent systématiquement par un point.
Notez que la comparaison des noms de domaine s'effectue sans tenir compte
de la casse des caractères et que les domaines sont toujours
supposés être ancrés dans la racine de l'arborescence DNS. Par conséquent,
les deux domaines .MonDomaine.com et
.mondomaine.com. (notez le point à la fin) seront considérés
comme équivalents. Comme la comparaison des noms de domaine n'implique pas de
recherche DNS, elle est bien plus efficace que la comparaison à un sous-réseau.
sous-réseau
L'argument sous-réseau est une adresse Internet partiellement qualifiée, présentée
sous forme numérique (notation à points) et éventuellement suivie d'une barre oblique et du
masque de sous-réseau (ce dernier exprimant alors le nombre de bits significatifs dans
le sous-réseau). Il sert à représenter un sous-réseau d'hôtes qui peuvent être
joints à travers une interface de réseau commune. En l'absence de masque de sous-réseau
explicite, celui-ci est défini par les dernières valeurs omises (ou égales à zéro).
(Dans ce cas, la largeur du masque, en nombre de bits, ne peut être qu'un multiple de 8).
Exemples :
192.168 ou 192.168.0.0
Désigne le sous-réseau 192.168.0.0 avec un masque implicite de 16 bits valides
(ce masque étant parfois exprimé sous la forme 255.255.0.0).
192.168.112.0/21
Désigne le sous-réseau 192.168.112.0/21 avec un masque explicite
de 21 bits valides (également présenté sous la forme 255.255.248.0).
Si l'on considère les cas extrêmes, un sous-réseau avec 32 bits valides est
équivalent à une adresseIP (voir plus bas), tandis qu'un sous-réseau avec zéro
bit valide (par exemple, 0.0.0.0/0) équivaut à la constante
_Default_, c'est-à-dire l'acceptation de toute adresse IP.
adresseIP
L'argument adresseIP est une adresse Internet entièrement qualifiée, présentée
au format numérique à points. Généralement, cette adresse représente un hôte, mais il
n'est pas obligatoire qu'un nom de domaine DNS y soit rattaché.
Exemple : 192.168.123.7 Remarque : Une adresseIP n'a pas besoin d'être résolue par le
service DNS. Son usage peut donc s'avérer bénéfique pour les performances d'Apache.
L'argument nomhôte est un nom de domaine DNS entièrement qualifié
qui peut être résolu en une ou plusieurs adresse(s)IP par le
service DNS. Il représente un hôte logique (par opposition
aux domaines décrits plus haut) et sa résolution
doit donner au moins une adresseIP (le plus souvent,
il s'agit d'une liste d'hôtes ayant chacun
une adresseIP différente).
Exemples : prep.ai.mit.eduwww.apache.org. Remarque : Dans de nombreux cas, il est plus efficace de spécifier une
adresseIP à la place d'un nomhôte, car on évite alors
une recherche via le service DNS. La résolution des noms dans Apache peut prendre un temps
considérable si la connexion au serveur de noms emprunte une liaison PPP lente.
Notez que la comparaison des noms d'hôtes s'effectue sans tenir compte de la casse des
caractères et qu'un nomhôte est toujours supposé être ancré dans la racine
de l'arborescence DNS. Par conséquent, les deux
hôtes WWW.MonDomaine.com et www.mondomaine.com.
(notez le point à la fin) sont considérés comme équivalents.
Compatibilité - ProxyDomain est disponible uniquement à compter de l'édition
1.3 d'Apache.
Cette directive n'a d'utilité que pour les serveurs proxy Apache mis en oeuvre au sein d'intranets.
ProxyDomain spécifie le domaine par défaut auquel le serveur proxy Apache appartiendra.
Si une demande destinée à un hôte est reçue sans indication du nom de domaine,
une réponse de redirection vers cet hôte sera générée et le nom de domaine
qu'elle contiendra alors sera celui qui est spécifié par ProxyDomain.
Compatibilité - ProxyVia est disponible uniquement à compter de l'édition
1.3.2 d'Apache.
Cette directive contrôle l'usage de l'en-tête HTTP Via: par le proxy.
Elle a pour but de contrôler le flux des demandes acheminées le long d'une
chaîne de plusieurs serveurs proxy.
Pour une description des lignes d'en-tête Via:, consultez le
document RFC2068 (HTTP/1.1).
Avec la valeur off, qui est le choix par défaut, aucun traitement particulier
ne sera effectué. Si une demande ou une réponse contient un en-tête Via:, celui-ci
sera transmis tel quel.
Avec la valeur on, une ligne d'en-tête Via: sera ajoutée,
pour l'hôte en cours, à chaque demande ou réponse.
Avec la valeur full, chaque ligne d'en-tête Via: générée contiendra
en plus une zone de commentaire indiquant la version du serveur Apache.
Avec la valeur block, toutes les lignes
d'en-tête Via: seront supprimées des demandes de proxy.
Aucun nouvel en-tête Via: ne sera généré.
Compatibilité - CacheForceCompletion est disponible uniquement à compter de l'édition
1.3.1 d'Apache.
Si un transfert HTTP est annulé pendant sa mise en cache, le module proxy achève quand même son
transfert dans la cache si la proportion de données déjà transférées est supérieure
au pourcentage spécifié ici.
S'agissant d'un pourcentage, la valeur indiquée doit être comprise entre 1 et 100
(ou égale à 0 pour que la valeur par défaut soit utilisée).
Avec la valeur 100, aucune tolérance n'est accordée et toute annulation d'un transfert HTTP interrompt immédiatement
la mise en cache du document correspondant si celle ci n'est pas complètement terminée.
Il est conseillé d'indiquer une valeur comprise
entre 60 et 90.
Compatibilité - CacheRoot est disponible uniquement dans les éditions 1.1 et suivantes d'Apache.
Définit le nom du répertoire destiné à contenir les fichiers de données de la cache.
Le serveur httpd doit disposer d'un droit d'accès en écriture sur ce répertoire.
(Voir la directive User).
La définition de CacheRoot permet d'activer la mise en cache par le
proxy. Sans cette définition, la fonctionnalité de proxy est néanmoins disponible
(à condition que ProxyRequests ait la valeur On),
mais il n'y a pas de mise en cache des demandes.
Compatibilité - CacheSize est disponible uniquement dans les éditions 1.1 et suivantes d'Apache.
Définit l'espace alloué initialement à la cache, en kilo-octets (unités
de 1024 octets). La cache peut bien entendu s'étendre sur un espace supérieur à
la valeur indiquée ici. Cependant, le processus de récupération de place
continuera à supprimer les fichiers jugés obsolètes tant que l'espace utilisé
par la cache ne sera pas redescendu à cette valeur ou en dessous.
En fonction du volume de trafic attendu
sur le proxy et de la valeur attribuée à CacheGcInterval,
indiquez une valeur qui est au moins 20 à 40 % inférieure à l'espace disponible.
Compatibilité - CacheGcInterval est disponible uniquement dans les éditions 1.1 et suivantes d'Apache.
La cache est contrôlée toutes les <n> heures et le processus de récupération de place
(suppression des fichiers périmés) entre en action si
l'espace occupé est supérieur à la limite fixée par CacheSize.
Notez que <n> peut être une valeur décimale. Ainsi, vous pouvez
spécifier CacheGcInterval 1.5 pour contrôler la cache
toutes les 90 minutes. (Si cet intervalle n'est pas défini, aucune récupération
de place ne sera mise en oeuvre et la cache grossira indéfiniment).
Notez également que plus la valeur de CacheGcInterval est élevée,
plus les récupérations de place seront espacées et
plus il faudra d'espace supplémentaire par rapport à la limite fixée par
CacheSize.
Compatibilité - CacheMaxExpire est disponible uniquement dans les éditions 1.1 et suivantes d'Apache.
Les documents HTTP stockés en cache pourront être conservés pendant <n> heures sans
que leur serveur d'origine soit consulté. La péremption des documents sera donc au maximum
de <n> heures. Cette règle est mise en pratique même si les documents sont accompagnés
d'une date d'expiration.
Compatibilité - CacheLastModifiedFactor est disponible uniquement dans les
éditions 1.1 et suivantes d'Apache.
Si le serveur HTTP d'origine ne fournit pas de date d'expiration pour un document,
la formule suivante est appliquée pour déterminer au bout de combien de temps
le document est jugé périmé :
délai d'expiration = durée écoulée depuis dernière modification x <facteur>
Par exemple, si la dernière modification d'un document remonte à 10 heures et que
le facteur choisi est 0,1, alors le délai d'expiration de ce document sera
10 x 0,1 = 1 heure.
Si le délai d'expiration ainsi calculé est plus long que la durée de rétention
fixée par CacheMaxExpire, c'est cette dernière qui l'emporte.
Compatibilité - CacheDirLevels est disponible uniquement dans les éditions 1.1 et suivantes d'Apache.
CacheDirLevels définit le nombre de niveaux de sous-répertoires dans la
cache. Les données mises en cache seront sauvegardées dans des sous-répertoires
situés au nombre de niveaux indiqués par rapport à l'emplacement racine
spécifié par CacheRoot.
Compatibilité - CacheDefaultExpire est disponible uniquement dans les
éditions 1.1 et suivantes d'Apache.
Si un document est obtenu via un protocole qui ne fournit pas l'heure dernière modification,
le délai d'expiration de ce document sera de <n> heures. Ce paramètre
n'est pas supplanté par CacheMaxExpire.
Compatibilité - CacheDefaultExpire est disponible uniquement dans les
éditions 1.1 et suivantes d'Apache.
La directive NoCache dresse une liste de mots, d'hôtes et/ou de domaines séparés les
uns des autres par des espaces. Les documents HTTP ainsi que les documents FTP non protégés
par mot de passe issus d'emplacements correspondant aux mots, hôtes ou domaines
listés ici ne seront pas mis en cache par le serveur proxy.
Au démarrage du serveur,
le module proxy tente également de déterminer les adresses IP des
différents éléments listés (puisque certains peuvent être des noms d'hôtes). S'il y parvient,
il les mémorise afin qu'elles soient également prises en compte dans la comparaison.
Exemple :