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?