<-
Apache > Serveur HTTP > Documentation > Version 2.4 > Modules

Module Apache mod_proxy_html

Langues Disponibles:  en  |  fr 

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

Sommaire

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.

Directives

top

ProxyHTMLBufSize Directive

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.

top

ProxyHTMLCharsetOut Directive

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�.

top

ProxyHTMLDocType Directive

Description:D�finit une d�claration de type de document HTML ou XHTML.
Syntaxe:ProxyHTMLDocType HTML|XHTML [Legacy]
OU
ProxyHTMLDocType fpi [SGML|XML]
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.

top

ProxyHTMLEnable Directive

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.

top

ProxyHTMLEvents Directive

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.

top

ProxyHTMLExtended Directive

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.

top

ProxyHTMLFixups Directive

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 :

Cette 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.

top

ProxyHTMLInterp Directive

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.

top

ProxyHTMLLinks Directive

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.

top

ProxyHTMLMeta Directive

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.

top

ProxyHTMLStripComments Directive

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 !

top

ProxyHTMLURLMap Directive

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) :

h

Ignore les liens HTML (les traverse sans les modifier)

e

Ignore les �v�nements de scripting (les traverse sans les modifier)

c

Traverse les sections de type style ou script sans les modifier.

L

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

L'oppos� de L. Passe outre le comportement par d�faut du changement unique pour les liens HTML.

R

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.

x

Utilise les expressions rationnelles �tendues POSIX. Ne s'applique qu'avec R.

i

Recherche de correspondance sensible � la casse. Ne s'applique qu'avec R.

n

D�sactive la m�morisation dans les expressions rationnelles (pour am�liorer les performances). Ne s'applique qu'avec R.

s

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.

V

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.

v

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.

Langues Disponibles:  en  |  fr 

top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.