Назад | Перейти на главную страницу

Канал TeamCity Nuget через IIS / ARR / URLRewrite

Версии:

TeamCity устанавливается в уже существующую установку TomCat как JavaEE WAR. IIS успешно настроен для обратных вызовов прокси для TeamCity. Мое правило перезаписи приведено ниже:

<rule name="TeamCity Redirect" stopProcessing="true">
    <match url="^(TeamCity.*)" />
    <action type="Rewrite" url="http://localhost:8080/{R:1}" logRewrittenUrl="true" />
</rule>

У меня нет проблем со входом в TeamCity с удаленного хоста и его использованием / администрированием. Однако, когда я включаю встроенный сервер NuGet, я сталкиваюсь с неприятной проблемой.

Попытка получить доступ к каналу nuget с любого удаленного хоста, проксирующего через IIS, дает мне ошибку HTTP 404. Ошибка 404 исходит от IIS. Когда я удаляю последнюю часть пути из URL-адреса, ошибка 404 исходит от Tomcat.

Пример:

Итак, где-то у меня возникают проблемы с IIS, соблюдающим перенаправление с файлами * .svc, но, хоть убей, я не могу понять, почему и где это установлено.

Любая помощь приветствуется.

Кажется, вам не нужны никакие правила перезаписи. Убедитесь, что путь контекста сервера TeamCity такой же, как на вашем публичном сервере, т.е. http://public.com/contextPath и http: // локальный: 8080 /contextPath.

TeamCity использует URI запроса для создания канала NuGet, поэтому вы должны убедиться, что ваш прокси-сервер предоставляет заголовки HOST, X-Forwarded-Host, X-Forwarded-Server, X-Forwarded-For. Вы можете включить / проверить журнал доступа tomcat, чтобы узнать, какие запросы поступают из IIS в TeamCity.

Также ознакомьтесь с руководством по установке на http://blog.endjin.com/2010/11/a-step-by-step-guide-to-hosting-teamcity-in-iis-7/

Если это не сработает, приложите журналы сервера к teamcity-feedback@jetbrains.com

Ах, сила публикации. Задав вопрос, я решил еще раз взглянуть на правила, которые я установил.

Правила устанавливались на уровне сайта. Я переместил их на уровень сервера, и все работает как шарм.