Serveur Apache HTTP Version 2.4
Description: | R��crit les liens HTML afin de s'assurer qu'ils soient bien adressables depuis les r�seaux des clients dans un contexte de mandataire. |
---|---|
Statut: | Base |
Identificateur�de�Module: | proxy_html_module |
Fichier�Source: | mod_proxy_html.c |
Compatibilit�: | Disponible depuis la version 2.4 du serveur HTTP Apache. Disponible en tant que module tiers dans les versions 2.x ant�rieures |
Ce module fournit un filtre en sortie permettant de r��crire les liens HTML dans un contexte de mandataire, afin de s'assurer que ces liens fonctionnent pour les utilisateurs en dehors du mandataire. Il accomplit la m�me t�che que la directive ProxyPassReverse d'Apache accomplit pour les en-t�tes HTTP, et fait partie des composants essentiels d'un mandataire inverse.
Par exemple, si une entreprise poss�de un serveur d'applications
nomm� appserver.example.com qui n'est visible que depuis son r�seau
interne, et un serveur web public www.example.com
, il peut
�tre souhaitable de fournir une passerelle vers le serveur d'application
� l'adresse http://www.example.com/appserver/
. Lorsque le
serveur d'applications pr�sente un lien vers lui-m�me, ce lien doit �tre
r��crit pour fonctionner � travers la passerelle. A cet effet,
mod_proxy_html permet de r��crire <a
href="http://appserver.example.com/foo/bar.html">foobar</a>
en <a
href="http://www.example.com/appserver/foo/bar.html">foobar</a>
,
ce qui permet de rendre le serveur d'applications accessible depuis
l'ext�rieur.
mod_proxy_html a �t� d�velopp� � l'origine � Web�ing, dont la documentation d�taill�e pourra s'av�rer utile aux utilisateurs.
Description: | D�finit l'incr�ment de la taille du tampon, ainsi que sa taille initiale, pour la mise en tampon des scripts en ligne et des feuilles de style. |
---|---|
Syntaxe: | ProxyHTMLBufSize nb-octets |
Contexte: | configuration du serveur, serveur virtuel, r�pertoire |
Statut: | Base |
Module: | mod_proxy_html |
Compatibilit�: | Disponible depuis la version 2.4 du serveur HTTP Apache. Disponible en tant que module tiers dans les versions 2.x ant�rieures. |
Pour pouvoir interpr�ter du contenu non HTML (feuilles de style et scripts) embarqu� dans des documents HTML, mod_proxy_html doit le lire et le m�moriser en entier dans un tampon. Ce tampon devra �tre �tendu autant que n�cessaire afin de pouvoir accueillir le plus grand script ou la plus grande feuille de style de la page, selon un incr�ment de nb-octets que cette directive permet de d�finir.
La valeur par d�faut est 8192 et sera suffisante pour la plupart des pages. Cependant, si vous savez que vous allez mandater des pages contenant des feuilles de style et/ou scripts plus grands que 8k (cette taille s'entend pour chaque script ou feuilles de style, non pour leur ensemble), il sera plus efficace de d�finir une taille de tampon initiale plus grande afin d'�viter d'avoir � le redimensionner dynamiquement au cours du traitement d'une requ�te.
Description: | Sp�cifie un jeu de caract�res pour la sortie de mod_proxy_html. |
---|---|
Syntaxe: | ProxyHTMLCharsetOut jeu-de-caract�res | * |
Contexte: | configuration du serveur, serveur virtuel, r�pertoire |
Statut: | Base |
Module: | mod_proxy_html |
Compatibilit�: | Disponible depuis la version 2.4 du serveur HTTP Apache. Disponible en tant que module tiers dans les versions 2.x ant�rieures. |
Cette directive permet de sp�cifier un jeu de caract�res pour la
sortie de mod_proxy_html. Elle ne devrait jamais �tre utilis�e, car tout
changement par rapport � la valeur par d�faut UTF-8
(Unicode -
utilis� en interne par libxml2) induit une charge suppl�mentaire de
traitement. La d�finition sp�ciale ProxyHTMLCharsetOut *
permet de g�n�rer une sortie qui utilisera le m�me encodage que
l'entr�e.
Notez que tout ceci ne fonctionne que si le module
mod_xml2enc
est charg�.
Description: | D�finit une d�claration de type de document HTML ou XHTML. |
---|---|
Syntaxe: | ProxyHTMLDocType HTML|XHTML [Legacy] |
Contexte: | configuration du serveur, serveur virtuel, r�pertoire |
Statut: | Base |
Module: | mod_proxy_html |
Compatibilit�: | Disponible depuis la version 2.4 du serveur HTTP Apache. Disponible en tant que module tiers dans les versions 2.x ant�rieures. |
Avec la premi�re syntaxe, les documents seront d�clar�s de type HTML 4.01 ou XHTML 1.0 selon l'option sp�cifi�e. Cette option d�termine aussi si la syntaxe utilis�e en sortie est HTML ou XHTML. Notez que le format des documents en provenance du serveur d'arri�re-plan n'est pas important, car l'interpr�teur le d�tectera automatiquement. Si le second argument optionnel est d�fini � "Legacy", les documents seront d�clar�s de type "Transitional" ; cette option peut �tre n�cessaire si vous mandatez du contenu datant d'avant 1998, ou si vous travaillez avec des outils de cr�ation/publication d�ficients.
Avec la deuxi�me syntaxe, cette directive vous permet d'ins�rer votre propre FPI (Formal Public Identifier). Le second argument optionnel d�termine si la syntaxe utilis�e sera SGML/HTML ou XML/XHTML.
Par d�faut, aucun FPI n'est ins�r�, �tant donn� qu'il vaut mieux pas de FPI du tout qu'un FPI bogu�. Si par contre votre serveur d'arri�re-plan g�n�re du contenu HTML ou XHTML correct, vous pouvez d�finir cette directive en cons�quence.
Avec la premi�re syntaxe, mod_proxy_html va aussi mettre le code HTML
en conformit� avec le standard sp�cifi�. Il ne pourra pas corriger
toutes les erreurs, mais il va supprimer les �l�ments et attributs non
conformes. Il peut aussi journaliser les autres erreurs si la directive
LogLevel
est d�finie �
Debug.
Description: | Permet d'activer/d�sactiver le filtre proxy_html. |
---|---|
Syntaxe: | ProxyHTMLEnable On|Off |
D�faut: | ProxyHTMLEnable Off |
Contexte: | configuration du serveur, serveur virtuel, r�pertoire |
Statut: | Base |
Module: | mod_proxy_html |
Compatibilit�: | Disponible depuis la version 2.4 du serveur HTTP Apache. Disponible en tant que module tiers dans les versions 2.x ant�rieures. |
Cette directive est un simple commutateur permettant
d'activer/d�sactiver le filtre proxy_html. Si
mod_xml2enc
est charg�, elle va aussi activer
automatiquement le support de l'internationalisation.
Notez que le filtre proxy_html s'agira que si les donn�es sont de type HTML (Content-Type text/html ou application/xhtml+xml), et si elles passent par un mandataire. Vous pouvez passer outre ces contraintes (� vos risques et p�rils) en d�finissant la variable d'environnement PROXY_HTML_FORCE.
Description: | Sp�cifie les attributs � traiter comme des �v�nements de type scripting. |
---|---|
Syntaxe: | ProxyHTMLEvents attribut [attribut ...] |
Contexte: | configuration du serveur, serveur virtuel, r�pertoire |
Statut: | Base |
Module: | mod_proxy_html |
Compatibilit�: | Disponible depuis la version 2.4 du serveur HTTP Apache. Disponible en tant que module tiers dans les versions 2.x ant�rieures. |
Cette directive permet de sp�cifier un ou plusieurs attributs �
traiter comme
des �v�nements de type scripting et de leur appliquer les r�gles
ProxyHTMLURLMap
lorsqu'elles ont �t� d�finies. Vous
pouvez sp�cifier un nombre quelconque d'attributs dans une ou plusieurs
directives ProxyHTMLEvents
.
Normalement, cette directive est d�finie globalement. Si vous d�finissez ProxyHTMLEvents � plusieurs niveaux, certains niveaux l'emportant sur d'autres, vous devrez sp�cifier un jeu complet d'�v�nements pour chaque niveau.
Le fichier proxy-html.conf fournit une configuration par d�faut et d�finit les �v�nements selon les standards HTML 4 et XHTML 1.
Description: | D�termine si l'on doit corriger les liens dans les scripts en ligne, les feuilles de style et les �v�nements de type scripting. |
---|---|
Syntaxe: | ProxyHTMLExtended On|Off |
D�faut: | ProxyHTMLExtended Off |
Contexte: | configuration du serveur, serveur virtuel, r�pertoire |
Statut: | Base |
Module: | mod_proxy_html |
Compatibilit�: | Disponible depuis la version 2.4 du serveur HTTP Apache. Disponible en tant que module tiers dans les versions 2.x ant�rieures. |
Si cette directive est d�finie � Off
, les liens HTML
sont r��crits en fonction des directives
ProxyHTMLURLMap
, mais les liens qui apparaissent
dans le code Javascript et les feuilles de style restent inchang�s.
Si elle est d�finie � On
, tous les �v�nements de type
scripting (d�finis par la directive
ProxyHTMLEvents
) et les scripts inclus ou les
feuilles de style sont aussi
trait�s par les r�gles ProxyHTMLURLMap
, en
fonction des drapeaux d�finis pour chacune d'entre elles. Ne d�finissez
cette directive � On
qu'en cas de n�cessit� absolue, car la
charge suppl�mentaire induite impacte les performances.
Vous devez aussi pr�ter attention aux mod�les de comparaison, car
l'interpr�teur n'a aucune notion de la forme que pourrait prendre une URL dans un
script embarqu� ou une feuille de style. En particulier, la comparaison
�tendus du caract�re /
a de fortes chances d'induire des
correspondances erron�es.
Description: | Corrige les erreurs HTML simples. |
---|---|
Syntaxe: | ProxyHTMLFixups [lowercase] [dospath] [reset] |
Contexte: | configuration du serveur, serveur virtuel, r�pertoire |
Statut: | Base |
Module: | mod_proxy_html |
Compatibilit�: | Disponible depuis la version 2.4 du serveur HTTP Apache. Disponible en tant que module tiers dans les versions 2.x ant�rieures. |
Cette directive accepte un � trois arguments parmi les suivants :
lowercase
Les Urls sont r��crites en minusculesdospath
Les slashes invers�s dans les URLs sont
remplac�s par des slashes directs.reset
Annule toute option d�finie � un niveau sup�rieur
dans la configurationCette directive doit �tre utilis�e avec prudence. Elle peut corriger certaines erreurs de cr�ation, mais risque aussi de modifier par erreur des liens corrects. Ne l'utilisez que si vous �tes s�r que le serveur d'arri�re-plan est d�ficient.
Description: | Active la r�interpr�tation des r�gles
ProxyHTMLURLMap pour chaque requ�te. |
---|---|
Syntaxe: | ProxyHTMLInterp On|Off |
D�faut: | ProxyHTMLInterp Off |
Contexte: | configuration du serveur, serveur virtuel, r�pertoire |
Statut: | Base |
Module: | mod_proxy_html |
Compatibilit�: | Disponible depuis la version 2.4 du serveur HTTP Apache. Disponible en tant que module tiers dans les versions 2.x ant�rieures. |
Cette directive permet d'activer le r�interpr�tation pour chaque
requ�te des mod�les source et cible de la directive
ProxyHTMLURLMap
.
Si la r�interpr�tation n'est pas activ�e, toutes les r�gles sont pr�compil�es au d�marrage du serveur. Si elle est activ�e, les r�gles doivent �tre recompil�es pour chaque requ�te, ce qui induit une charge de traitement suppl�mentaire. Elle ne doit donc �tre activ�e que si cela s'av�re n�cessaire.
Description: | Sp�cifie les �l�ments HTML dont les attributs d'URL doivent �tre r��crits. |
---|---|
Syntaxe: | ProxyHTMLLinks �l�ment attribut [attribut2 ...] |
Contexte: | configuration du serveur, serveur virtuel, r�pertoire |
Statut: | Base |
Module: | mod_proxy_html |
Compatibilit�: | Disponible depuis la version 2.4 du serveur HTTP Apache. Disponible en tant que module tiers dans les versions 2.x ant�rieures. |
Cette directive permet de sp�cifier les �l�ments dont les attributs
d'URL doivent �tre r��crits en utilisant les r�gles standards
ProxyHTMLURLMap
. Vous devez d�finir une directive
ProxyHTMLLinks pour chaque �l�ment, mais chacune d'entre elles peut
sp�cifier un nombre quelconque d'attributs
Normalement, cette directive est d�finie globalement. Si vous d�finissez ProxyHTMLLinks � plusieurs niveaux, certains niveaux l'emportant sur d'autres, vous devrez sp�cifier un jeu complet de liens pour chaque niveau.
Le fichier proxy-html.conf fournit une configuration par d�faut et d�finit les liens HTML selon les standards HTML 4 et XHTML 1.
Description: | Active ou d�sactive une pr�interpr�tation suppl�mentaire
des m�tadonn�es dans les sections HTML <head> . |
---|---|
Syntaxe: | ProxyHTMLMeta On|Off |
D�faut: | ProxyHTMLMeta Off |
Contexte: | configuration du serveur, serveur virtuel, r�pertoire |
Statut: | Base |
Module: | mod_proxy_html |
Compatibilit�: | Disponible � partir de la version 2.4 du serveur HTTP Apache ; propos� en tant que module tiers dans les versions 2.x pr�c�dentes. |
Cette directive permet d'activer ou d�sactiver une
pr�interpr�tation suppl�mentaire des m�tadonn�es dans les sections
HTML <head>
. Si cette pr�interpr�tation n'est pas
requise, d�finissez ProxyHTMLMeta � Off et les performances
seront l�g�rement am�lior�es. Cependant, elle s'av�re parfois
n�cessaire pour assurer un fonctionnement correct de l'internationalisation.
La directive ProxyHTMLMeta a deux effets. Le premier et le plus important est la d�tection des codages de caract�res d�clar�s sous la forme
<meta http-equiv="Content-Type" content="text/html;charset=foo">
ou, dans le cas d'un document XHTML, sous la forme d'une
d�claration XML. Elle n'est pas n�cessaire si le jeu de caract�res
est d�clar� explicitement dans un en-t�te HTTP (ce qui est
pr�f�rable) en provenance du serveur d'arri�re-plan, ou si le
document est en utf-8 (unicode) ou un de ses
sous-ensembles comme ASCII. Vous pourrez aussi vous en passer
lorsque le document utilise une valeur par d�faut d�clar�e via la
directive xml2EncDefault
, avec le risque de
propager une d�claration incorrecte. Une directive
ProxyHTMLCharsetOut
permettra d'annuler ce
risque, mais pourra induire une surcharge de traitement sup�rieure �
celle de ProxyHTMLMeta.
Le deuxi�me effet est l'interpr�tation de toutes les d�clarations
<meta http-equiv=...>
et leur conversion en
en-t�tes HTTP, afin de conserver le but original de cette forme
de m�ta�l�ment HTML.
Description: | D�termine si les commentaires HTML doivent �tre supprim�s. |
---|---|
Syntaxe: | ProxyHTMLStripComments On|Off |
D�faut: | ProxyHTMLStripComments Off |
Contexte: | configuration du serveur, serveur virtuel, r�pertoire |
Statut: | Base |
Module: | mod_proxy_html |
Compatibilit�: | Disponible depuis la version 2.4 du serveur HTTP Apache. Disponible en tant que module tiers dans les versions 2.x ant�rieures. |
Si cette directive est d�finie � On
, mod_proxy_html
supprimera les commentaires HTML. Notez que cela supprimera aussi tout
script ou style inclus dans les commentaires (une monstruosit�
introduite en 1995/1996 avec Netscape 2 pour les navigateurs plus
anciens, et encore utilis�e de nos jours). Cette directive peut aussi
interf�rer avec des processeurs bas�s sur les commentaires comme SSI ou
ESI : assurez-vous d'ex�cuter ces derniers avant mod_proxy_html
dans la cha�ne de filtrage si vous supprimez les commentaires !
Description: | D�finit une r�gle de r��criture des liens HTML |
---|---|
Syntaxe: | ProxyHTMLURLMap mod�le-source mod�le-cible [drapeaux] [cond] |
Contexte: | configuration du serveur, serveur virtuel, r�pertoire |
Statut: | Base |
Module: | mod_proxy_html |
Compatibilit�: | Disponible depuis la version 2.4 du serveur HTTP Apache. Disponible en tant que module tiers dans les versions 2.x ant�rieures. |
Il s'agit de la directive la plus importante pour la r��criture des
liens HTML. Lors de l'interpr�tation d'un document, chaque fois qu'un
lien correspond � mod�le-source, la partie du lien concern�e
sera r��crite en mod�le-cible, en tenant compte des
modifications induites par les drapeaux �ventuellement sp�cifi�s et par
la directive ProxyHTMLExtended
.
Le troisi�me argument optionnel permet de f�finir un des drapeaux suivants (les drapeaux sont sensibles � la casse) :
Ignore les liens HTML (les traverse sans les modifier)
Ignore les �v�nements de scripting (les traverse sans les modifier)
Traverse les sections de type style ou script sans les modifier.
Last-match. Si cette r�gle s'applique, aucune autre r�gle ne sera prise en compte (notez qu'il s'agit du comportement automatique pour les liens HTML).
L'oppos� de L. Passe outre le comportement par d�faut du changement unique pour les liens HTML.
Utilise des expressions rationnelles pour les mod�les.
mod�le-source
est une expression rationnelle, et
mod�le-cible
une cha�ne de remplacement qui peut �tre bas�e
elle aussi sur une expression rationnelle. La m�morisation dans les
expressions rationnelles est support�e : vous pouvez utiliser des
parenth�ses () dans le mod�le-source
, et r�cup�rer la
correspondance de leur contenu via les variables $1 � $9 dans le
mod�le-cible
.
Si le drapeau R n'est pas fourni, la directive utilisera des cha�nes litt�rales pour les diff�rents mod�les de recherche/remplacement. La logique de recherche est "commence par" dans les liens HTML, et "contient" dans les �v�nements de scripting et les sections de type style ou script.
Utilise les expressions rationnelles �tendues POSIX. Ne s'applique qu'avec R.
Recherche de correspondance sensible � la casse. Ne s'applique qu'avec R.
D�sactive la m�morisation dans les expressions rationnelles (pour am�liorer les performances). Ne s'applique qu'avec R.
Recherche de correspondance dans les expressions rationnelles bas�e sur la ligne. Ne s'applique qu'avec R.
Recherche de correspondance au d�but seulement. Ne concerne que les recherches de correspondance par rapport � des cha�nes, et ne s'applique pas aux liens HTML.
Recherche de correspondance � la fin seulement. Ne concerne que les recherches de correspondance par rapport � des cha�nes, et ne s'applique pas aux liens HTML.
Ins�re des variables d'environnement dans le
mod�le-cible
. Un mod�le-cible
de la forme
${varname|default}
sera remplac� par la valeur de la
variable d'environnement varname
. Si cette derni�re n'est
pas d�finie, mod�le-cible
sera remplac� par
default
. La sp�cification de |default
est
facultative.
NOTE: l'insertion de variables d'environnement n'est possible que si
la directive ProxyHTMLInterp
a �t� d�finie �
On.
Ins�re des variables d'environnement dans le
mod�le-source
. La syntaxe du mod�le est identique � la
syntaxe pr�c�dente.
NOTE: l'insertion de variables d'environnement n'est possible que si
la directive ProxyHTMLInterp
a �t� d�finie �
On.
Le quatri�me argument optionnel cond d�finit une
condition qui sera �valu�e pour chaque requ�te, sous r�serve que la
directive ProxyHTMLInterp
ait �t� d�finie �
On. Si la condition est �valu�e � FALSE, la r�gle ne sera pas
appliqu�e � la requ�te. Si elle est �valu�e � TRUE, ou si aucune
condition n'est d�finie, la r�gle s'applique.
La condition est �valu�e par l'interpr�teur d'expression. La syntaxe simple des conditions dans mod_proxy_html 3.x pour HTTPD 2.0 et 2.2 est aussi support�e.