Serveur HTTP Apache 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 |
Défaut: | ProxyHTMLBufSize 8192 |
Contexte: | configuration globale, 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 globale, 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 globale, 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 globale, 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 globale, 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 globale, 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 globale, 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.