У нас есть IIS 7 веб-сервер настроен и хотел бы создать обратный прокси для TeamCity установка с использованием Кот на той же машине.
Сайт сервера IIS https://somesite
и я бы хотел, чтобы TeamCity отображался как https://somesite/teamcity
перенаправление на http://localhost:portnumber
.
Я установил Расширение перезаписи URL-адресов IIS и Маршрутизация запросов приложений чтобы попытаться настроить обратный прокси, но не могу заставить его работать.
Ближайший ответ, который я нашел, - это старый вопрос StackOverflow: https://stackoverflow.com/questions/331755/how-do-i-setup-teamcity-for-public-access-over-https
у которого, к сожалению, нет рабочего примера.
Я немного искал, но не нашел подходящего примера.
Любая помощь приветствуется!
Просто потратив около 4 часов на настройку SSL для TeamCity (и используя ответы в этом потоке), мне удалось заставить это работать, используя опцию фермы серверов.
Я настроил ферму серверов TeamCity, в которую входил мой сервер TeamCity на 127.0.0.1, используя порт 8080, и разрешил Правилам маршрутизации приложений создать соответствующее правило маршрутизации фермы серверов.
Затем я создал веб-сайт под названием TeamCitySecureProxy, который настроил с помощью самозаверяющего сертификата. В привязках я настроил только https / 443 (без http / 80).
Часть, которую мне не хватало: - Затем я щелкнул узел «TeamCity» в разделе «Фермы серверов» в IIS, выбрал «Прокси» на панели «Ферма серверов» и поставил галочку напротив «Узел обратной перезаписи в заголовках ответов».
Теперь у меня есть безопасная конечная точка для доступа к моей простой установке http TeamCity.
Убедитесь, что проксирование ARR включено в графическом интерфейсе IIS. Вероятно, вы захотите сохранить заголовок хоста (может потребоваться отредактировать applicationHost.config вручную или использовать appcmd, чтобы установить его), а также включить обратную перезапись хоста в параметрах заголовка ответа, чтобы браузер отправлял запросы и видел ответы, которые соответствуют Хост сертификата SSL.
(.*)
{URL}
Спички ^teamcity(/.*)?
http://localhost:port/{C:1}
Я думаю, это должно сработать.
<rule name="Demo Rule" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{URL}" pattern="^teamcity(/.*)?" />
</conditions>
<action type="Rewrite" url="http://localhost:8080/{C:1}" />
</rule>
Вы также можете использовать для этого соединитель.
Есть старый соединитель ISAPI (перенаправитель), доступный напрямую от Apache, или есть также новый, доступный от RiaForge (кажется, что его легче запустить).
Я только что сделал это сам и только что опубликовал об этом в блоге.
Кажется, вы установили все требования, теперь вам просто нужно настроить сервер:
http://bronumski.blogspot.com/2010/10/host-teamcity-in-iis7.html