Comme le reste de mes posts, voici des notes pour moi, mais qui peuvent être utile à d’autre pour faire reverse proxy avec IIS vers un lamp pour un sous répertoire du site web.

Reverse proxy avec IIS vers un lamp pour un sous répertoire du site web
  1. Activer URL Rewrite
  2. Example de configuration à utiliser dans web.config de la racine du site pour faire le rewriting et le reverse proxy de façon transparente :
    <rewrite>
    <rules>
    <clear />
    <rule name= »Add trailing slash » enabled= »false » stopProcessing= »true »>
    <match url= »^blog[/] » />
    <conditions logicalGrouping= »MatchAll » trackAllCaptures= »false »>
    <add input= »{REQUEST_FILENAME} » matchType= »IsDirectory » negate= »true » />
    </conditions>
    <action type= »Redirect » url= »{R:0}/ » redirectType= »Permanent » />
    </rule>
    <rule name= »Route the requests for blog » enabled= »true » stopProcessing= »true »>
    <match url= »^blog/(.*)|^blog » />
    <conditions logicalGrouping= »MatchAll » trackAllCaptures= »false »>
    <add input= »{CACHE_URL} » pattern= »^(https?):// » />
    </conditions>
    <serverVariables>
    <set name= »HTTP_ACCEPT_ENCODING » value= » » />
    </serverVariables>
    <action type= »Rewrite » url= »{C:1}://www.informinator.ca/{R:1} » />
    </rule>
    </rules>
    <outboundRules>
    <rule name= »ReverseProxyOutboundRule1″ preCondition= »ResponseIsHtml1″ enabled= »true » stopProcessing= »false »>
    <match filterByTags= »A, Area, Base, Form, Frame, Head, IFrame, Img, Input, Link, Script » pattern= »^http(s)?://www.informinator.ca//(.*) » />
    <action type= »Rewrite » value= »/blog/{R:2} » />
    </rule>
    <rule name= »RewriteRelativePaths » preCondition= »ResponseIsHtml1″ enabled= »false »>
    <match filterByTags= »A, Area, Base, Form, Frame, Head, IFrame, Img, Input, Link, Script » pattern= »^/(.*) » negate= »false » />
    <action type= »Rewrite » value= »/blog/{R:1} » />
    </rule>
    <rule name= »RewriteRelativePathsblog » preCondition= »ResponseIsHtml1″ enabled= »true »>
    <match filterByTags= »A, Area, Base, Form, Frame, Head, IFrame, Img, Input, Link, Script » pattern= »^http(s)?://www.informinator.ca/(.*) » negate= »false » />
    <action type= »Rewrite » value= »/blog/{R:2} » />
    </rule>
    <preConditions>
    <preCondition name= »ResponseIsHtml1″>
    <add input= »{RESPONSE_CONTENT_TYPE} » pattern= »^text/html » />
    </preCondition>
    </preConditions>
    </outboundRules>
    </rewrite>
    <urlCompression doStaticCompression= »false » doDynamicCompression= »false » />
  3. Ensuite, quand vous aller sur l’url, vous allez recevoir cette erreur :

    Erreur Encoding Reverse Proxy d'IIS vers Apache
    Erreur Encoding Reverse Proxy d’IIS vers Apache
  4. Pour corriger, il faut aller dans url rewrite et ajouter la variable server HTTP_ACCEPT_ENCODING et la laisser vide :

    Modifier les variables du serveur pour l'url rewriting revers proxy
    Modifier les variables du serveur pour l’url rewriting revers proxy
  5. Configurer Variable Encoding Reverse Proxy d'IIS vers Apache
    Configurer Variable Encoding Reverse Proxy d’IIS vers Apache
  6. Variable Encoding Reverse Proxy d'IIS vers Apache
    Variable Encoding Reverse Proxy d’IIS vers Apache

Une réponse

Laisser un commentaire

Votre adresse courriel ne sera pas publiée. Les champs obligatoires sont indiqués avec *