Windows Server 2012 R2
IIS 8.5
ARR 3.0 x64
Модуль перезаписи URL 2.1
У нас есть веб-уровень и уровень приложений. Мне нужно запустить веб-сервис на уровне приложений, чтобы локально использовать некоторые крупные компоненты для повышения производительности.
Я хочу, чтобы сервер веб-уровня перезаписывал URL-адреса на сервер уровня приложений.
Я установил службу на сервере уровня приложений и проверил ее работоспособность, нажав ее напрямую.
На сервере веб-уровня я создал следующее правило:
<system.webServer>
<rewrite>
<rules>
<rule name="Forward Proxy" enabled="true" patternSyntax="Wildcard" stopProcessing="true">
<match url="MyService/*" />
<action type="Rewrite" url="http://xxx.yyy.local/{R:0}" appendQueryString="true" logRewrittenUrl="false" />
</rule>
</rules>
</rewrite>
</system.webServer>
Таким образом, всякий раз, когда приходит запрос к "http://www.mypublicurl/MyService/", я хочу, чтобы он перенаправлялся на" http://xxx.yyy.local/MyService/".
На сервере приложений у меня есть MyService / Test.aspx, и когда я открываю "http://www.mypublicurl.com/MyService/test.aspx" (GET), тестовая страница появляется нормально ...
Но когда я пытаюсь получить доступ к http://www.mypublicurl.com/MyService/MyService.svc/myEndPoint" (POST), я получаю 404.
http://xxx.yyy.local/MyService/MyService.svc/myEndPoint прекрасно работает в скрипаче.
Журналы IIS показывают, что POST делает это на веб-сервере, но никогда на сервере приложений.
Чего мне не хватает?