Comparez les prix des domaines et des services informatiques des vendeurs du monde entier

Apache ProxyHTMLURLMap avec une substitution de chaîne de LocationMatch

J'essaie de créer un serveur proxy inverse Apache, Pour créer un ensemble de serveurs disponibles via un seul point d'accès. Tous les serveurs proposent une interface d'administrateur Web sur le port 3000, Et j'ai l'intention de les soumettre à tous en tant que répertoires sur le serveur de proxy inverse. Les interfaces contiennent des liaisons locales qui doivent bien sûr être réécrites pour accéder au bon serveur au sous-répertoire proxy.

Je peux atteindre le comportement requis en utilisant de tels fragments de configuration pour chaque serveur individuellement:

<location testadmin-warsaw=""></location>
ProxyPass [url=http://warsaw.example.com:3000/]http://warsaw.example.com:3000/[/url]
ProxyPassReverse /
ProxyHTMLEnable On
ProxyHTMLURLMap / /testadmin-warsaw/ L
RequestHeader unset Accept-Encoding


Parce que comme les serveurs viennent et vont, il devient plutôt fastidieux et soumis à des erreurs, je m'efforce de la configuration dynamique. Selon la documentation Apache, Ce qui suit devrait fonctionner:

<locationmatch "^="" testadmin-(?<officename="">\w+)/(.*)$"&gt;
ProxyPassMatch http://$1.example.com:3000/$2
ProxyPassReverse /
ProxyHTMLEnable On
ProxyHTMLInterp On
ProxyHTMLURLMap / /testadmin-${env:MATCH_OFFICENAME|unknown}/ VL
RequestHeader unset Accept-Encoding
</locationmatch>


<locationmatch>

établit un environnement variable

MATCH_OFFICENAME

faire partie du bureau du catalogue, et

ProxyHTMLURLMap

Insérez ce nom à l'endroit approprié dans les liens réécrites.

Mais quand je teste cette configuration, le lien indique à l'origine

/other/page.html

Rembobiner

/testadmin-unknown/other/page.html

au lieu de

/testadmin-warsaw/other/page.html

comme prévu. En d'autres termes,

ProxyHTMLURLMap

agit comme si la variable d'environnement

MATCH_OFFICENAME

était faché.

Si j'étant omettre

env:

partie et mettre juste

/testadmin-${MATCH_OFFICENAME}/

comme un modèle d'envoi Apache REGISTLS AVERTISSEMENT: «AH00111: Configuration variable $ {MATCH_OFFICENAME} non déterminé".

Où est mon erreur?
</locationmatch>
Invité:

Catherine

Confirmation de:

Syntaxe

sans pour autant


env:

correctement. DANS

AH00111

message d'avertissement qu'il crée est faux, selon
https://bz.apache.org/bugzilla ... 58467
.

Configuration:

<locationmatch "^="" testadmin-(?<officename="">\w+)/(.*)$"&gt;
ProxyPassMatch http://$1.example.com:3000/$2
ProxyPassReverse /
ProxyHTMLEnable On
ProxyHTMLInterp On
ProxyHTMLURLMap / /testadmin-${MATCH_OFFICENAME|unknown}/ VL
RequestHeader unset Accept-Encoding
</locationmatch>

Fonctionne sur la destination, à l'exception du faux avertissement à chaque fois.

Pour répondre aux questions, connectez-vous ou registre