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
- Activer URL Rewrite
- 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 » />- Ensuite, quand vous aller sur l’url, vous allez recevoir cette erreur :
- Pour corriger, il faut aller dans url rewrite et ajouter la variable server HTTP_ACCEPT_ENCODING et la laisser vide :