IIS AAR - URL Przepisz dla odwrotnego proxy - jak wysłać HTTP_HOST

Próba użycia AAR jako odwrotnego proxy przed kilkoma serwerami IIS zaplecza.

Jeden publiczny adres IP przypisany do serwera z uruchomionym IIS / AAR

Następnie reguły przepisywania adresów URL wychodzących są skonfigurowane do przekierowania do jednego z kilku serwerów zaplecza w zależności od nazwy hosta.

Działa nieco, ale zawsze zwraca domyślną lokację serwerów zaplecza (nie tę, która jest odwzorowana na nazwę hosta), więc wygląda na to, że nazwa hosta (HTTP_HOST) nie jest przekazywana z serwera proxy do serwera zaplecza.

(Sprawdziłem obejście odwrotnego proxy przez edycję hostów, a serwer zaplecza zwraca poprawną witrynę związaną z nagłówkiem hosta)

Oto przykład reguły (192.168.0.99 to serwer wewnętrzny, site.myco.com to nazwa hosta)

    <rewrite>
        <rules>
            <rule name="ReverseProxyInboundRule1" stopProcessing="true">
                <match url="(.*)" />
                <action type="Rewrite" url="http://192.168.1.99/{R:1}" />                   
            </rule>
        </rules>
    </rewrite>

Próbowałem umieścić zmienne serwera tak

    <!-- Guessing server.myco.com is hard coded -->
    <serverVariables>
        <set name="HTTP_HOST" value="server.myco.com" />
    </serverVariables>

    <!-- Guessing picked up dynamically from incoming request host header -->
    <serverVariables>
        <set name="HTTP_HOST" value="{HTTP_HOST}" />
    </serverVariables>

Ale niestety zawsze zwraca domyślne wiązanie - wszelkie pomysły?

questionAnswers(2)

yourAnswerToTheQuestion