Обратный прокси IIS застрял на одном файле - PullRequest
0 голосов
/ 12 сентября 2018

Я настраиваю IIS (10.0) в качестве обратного прокси. Обратный прокси-сервер в основном работает, но он зависает, в частности, в одном файле:

enter image description here

Этот файл (ace.js) никогда не покидает состояние ожидания. Это происходит каждый раз, когда я обновляю страницу в любом браузере.

Когда я перехожу на ту же страницу без , проходящей через мой прокси, этот файл загружается без проблем:

enter image description here

Что может быть причиной этого?

Полный URL-адрес этого файла: http://172.19.243.9/auth/resources/4.3.0.final/admin/keycloak/lib/ui-ace/min/ace.js.

Вот как я реализую свой обратный прокси в wwwroot/web.config:

<rule name="RedirectToGoogle" stopProcessing="true">
    <match url="^auth(\/?.*)" />
    <action type="Rewrite" url="http://keycloak:8080/auth{R:1}" />
    <serverVariables>
        <set name="HTTP_HOST" value="{HTTP_HOST}" />
        <set name="HTTP_X_FORWARDED_FOR" value="{REMOTE_ADDR}" />
        <set name="HTTP_X_FORWARDED_PROTO" value="https" />
        <set name="HTTP_REFERER" value="" />
    </serverVariables>
</rule>

Если это уместно, IIS работает в сети Docker, а проксируемая служба (keycloak) находится в другом контейнере в той же сети.


Обновление: Я копался в IIS и журналах прокси-сервера. Журналы доступа к прокси-серверу (Keycloak) показывают, что этот файл был обработан по протоколу HTTP 200 без проблем. Однако IIS показывает эту информацию по запросу:

2018-09-13 13:01:12 172.19.242.115 GET /auth/resources/4.3.0.final/admin/keycloak/node_modules/angular/angular.min.js.map X-ARR-CACHE-HIT=0&X-ARR-LOG-ID=e5ac0907-7e2f-4791-8361-f6dcbe76fa0d&SERVER-STATUS=200 80 - 172.19.240.1 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/68.0.3440.106+Safari/537.36 - 200 0 121 20030

Соответствующая часть находится в самом конце - 200 0 121 20030. Из некоторого Google, код 121 указывает, что «истекло время ожидания семафора». Однако мне еще предстоит найти решение этой проблемы.

...