2016-07-08 2 views
0

Фон: я пересылаю входящий трафик 80/443 на \\SERVER2; TFS работает на \\SERVER3. Я хочу перенаправить все запросы, связанные с TFS, на \\SERVER3. Я должен сделать это таким образом, так как я запускаю Server Essentials на \\SERVER2, что достаточно сложно, чтобы не работать должным образом при перезаписи URL (почти так же плохо, как SharePoint, но не совсем).Нечетный 404 во время перезаписи URL

Вот единственное правило, на веб-сайте по умолчанию:

<rule name="TFS Rewrite" stopProcessing="true"> 
    <match url="^tfs(.*)" /> 
    <action type="Rewrite" url="http://server3:8080/{R:0}" /> 
</rule> 

... и вот Failed Request Log: https://1drv.ms/f/s!AodXF_j3BiWkhPAZwjnwC-rAecVgtw

Примечание запрашиваемый URL на линии № 87 PDF: http://server3:8080/tfs. Я могу найти это внутри, просто отлично. Внешний URL-адрес: https://tfs.domain.com/tfs.

Следующая запись, относящаяся только к файлу, - это сама 404, на линии № 165.

Я просто этого не понимаю. Это простое правило. Почему IIS должен стать 404 для четко действующего и действующего URL-адреса?

EDIT

В качестве теста, я добавил это условие:

<conditions> 
    <add input="{HTTP_HOST}" pattern="tfs.domain.com" /> 
    </conditions> 

Теперь, если я просматриваю к https://tfs.domain.com/, загружает веб-сайта по умолчанию.

Это, вместе с журналами, показало бы, что, хотя IIS переписывает URL-адрес, трафик фактически не маршрутизируется на \\SERVER3.

Что здесь происходит? Это тайна.

ответ

0

ОК, я получил его работу.

Я установил как URL-адрес Rewrite, так и ARR-модули, но еще не включил прокси-обработку.

Я создал ложное правило обратного прокси и было предложено включить его в IIS. Я сделал это, удалил правило фиктивного кода, и теперь все работает как ожидалось.