Как настроить TeamCity для публичного доступа через https?
-
22-07-2019 - |
Вопрос
Как настроить TeamCity 4.0, чтобы иметь доступ к нему через порт 443 в Интернете?например https://teamcity.mydomain.com
Я использую IIS 7 на том же сервере, на котором установлен TeamCity.Я вижу два варианта:
Настройка TeamCity на использование порта 8443 и создать обратный прокси в IIS, который запросы маршрутов в TeamCity публичный IP-адрес порта Tomcat по внутреннему IP-адресу.
Настройка Tomcat для запуска на другом IP-адрес, отличный от IIS 7, и настроить Команда Сити работает на порту 443.
Я не уверен в деталях ни одного из этих шагов.
Решение
Требуется настроить встроенный сервер Tomcat для https.Глянь сюда:
http://confluence.jetbrains.net/display/TCD65/Using+HTTPS+to+access+TeamCity+server
и здесь:
http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html
Я также настроил Tomcat для прослушивания только одного IP-адреса.Все это оказалось настоящей болью, и я до сих пор не могу запустить TeamCity как сервис.Я могу запустить его только из командной строки.Если бы я собирался сделать это заново, я бы установил TeamCity для работы на порту по умолчанию и подключил бы к нему прокси-сервер, используя Маршрутизация запросов приложений IIS7 или виртуальные каталоги Apache.
[Редактировать] Я сделал это снова и использовал Маршрутизацию запросов приложений IIS для настройки обратного прокси.Он работает отлично, и обновления Team City также проходят безболезненно.
Другие советы
Если вы не ожидаете высокой нагрузки на сервер, вы можете избежать использования IIS или Apache и включить SSL прямо в Tomcat. Это проще в настройке. Единственным недостатком является высокая загрузка ЦП, когда клиент подключается к серверу (на этапе согласования), после чего загрузка ЦП незначительна.
Убедитесь, что вы также используете загрузку этих 2 модулей
LoadModule proxy_module bin/mod_proxy.so
LoadModule proxy_http_module bin/mod_proxy_http.so
ProxyPass /TeamCity http://localhost/TeamCity
ProxyPassReverse /TeamCity http://localhost/TeamCity