IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IIS Discussion :

Config IIS Url Rewrite ARR


Sujet :

IIS

  1. #1
    Expert confirmé
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 536
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 536
    Points : 5 219
    Points
    5 219
    Par défaut Config IIS Url Rewrite ARR
    Bonjour,

    J'ai un IIS 7.5 configuré en reverse proxy à l'aide des modules "Url Rewrite" et "ARR 3".

    J'ai une application développée en Asp.Net MVC Framework 4.5 hébergée sur IIS qui fonctionne très bien hormis lorsqu'il s'agit de rediriger l'utilisateur vers l'extérieur (autre host).

    Par exemple, je fait une redirection vers : https://www.google.com/search?q=url+rewrite+iis+arr+3
    Mon navigateur se retrouve sur http://localhost/search?q=url+rewrite+iis+arr+3

    A l'aide de Fiddler j'ai récupéré la trace http suivante :

    HTTP/1.1 302 Found
    Cache-Control: private
    Content-Length: 350
    Content-Type: text/html; charset=utf-8
    Location: http://localhost/search?q=url+rewrite+iis+arr+3
    Server: Microsoft-IIS/7.5
    X-Powered-By: ARR/3.0
    X-Powered-By: ASP.NET
    Date: Wed, 02 Nov 2016 16:39:18 GMT

    <html><head><title>Object moved</title></head><body>
    <h2>Object moved to <a href="https://www.google.com/search?q=url+rewrite+iis+arr+3">here</a>.</h2>
    </body></html>
    On voit bien dans le header le tag "Location" qui ne pointe pas sur le bon host.

    Ma configuration IIS est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <system.webServer>
            <rewrite>
                <rules>
                    <rule name="ReverseProxyInboundRule" stopProcessing="true">
                        <match url="(.*)" />
                        <action type="Rewrite" url="http://localhost/{R:1}" />
                    </rule>
                </rules>
                <outboundRules>
                    <rule name="ReverseProxyOutboundRule1" preCondition="IsRedirection" stopProcessing="true">
                        <match filterByTags="A" pattern="^http(.*)" negate="false" />
                        <action type="None" />
                    </rule>
                    <preConditions>
                        <preCondition name="IsRedirection">
                            <add input="{RESPONSE_STATUS}" pattern="3[0-9][0-9]" />
                        </preCondition>
                    </preConditions>
                </outboundRules>
            </rewrite>
        </system.webServer>
    </configuration>
    Quelqu'un saurait-il m'apporter de l'aide sur ce sujet ?

  2. #2
    Expert confirmé
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 536
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 536
    Points : 5 219
    Points
    5 219
    Par défaut Solution
    J'ai finalement trouvé la solution grâce à milope sur les forums de IIS.net:
    In the server level Application Request Routing Cache feature, there is a link that reads: Server Proxy Settings or something like that. Check if the Reverse rewrite host in response header is checked in the Proxy Settings. If so, this may be why external link go to localhost.
    En récumé, au niveau serveur IIS, il faut aller dans le module "Application Request Routing Cache",
    puis sélectionner "Server Proxy Settings" dans le panneau des actions (à droite)
    et décocher l'option "Reverse rewrite host in response headers".

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 19/09/2014, 16h16
  2. IIS Url Rewriting avec un "+"
    Par Alexis35 dans le forum Serveurs (Apache, IIS,...)
    Réponses: 3
    Dernier message: 25/01/2012, 16h05
  3. [WB15] URL Rewriting, IIS 6 et 2003 SERVER
    Par lolob84 dans le forum WebDev
    Réponses: 0
    Dernier message: 29/10/2010, 15h37
  4. Url rewriting avec le web.config
    Par soso78 dans le forum VB.NET
    Réponses: 0
    Dernier message: 05/11/2009, 23h02
  5. Confifg IIS pour URL Rewriting ASP.NET
    Par CUCARACHA dans le forum IIS
    Réponses: 0
    Dernier message: 05/07/2008, 17h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo