Перезапись URL IIS не работает для метода POST - PullRequest
0 голосов
/ 06 ноября 2018

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 делает это на веб-сервере, но никогда на сервере приложений.

Чего мне не хватает?

...