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

Запускаете TeamCity и YouTrack на одном сервере и на одном порте?

Я хочу запустить оба на одном сервере (ubuntu linux), используя самосодержащие банки (если они так называются), загруженные с jetbrains.com. Я думаю, они запускают какой-то внутренний сервер tomcat / catalina с использованием java.

Я запускал их на разных портах и ​​использовал разные имена хостов, чтобы избежать проблем с сеансами (поскольку, насколько я понимаю, сеансы привязаны к имени хоста).

Оба имени хоста buildserver.local и youtrack.local указывают на один и тот же IP-адрес. Но по разным портам определять, какой сервер отвечать на запрос. Это вызывает небольшие проблемы с нашим брандмауэром, который разрешает доступ только к порту 80 за пределами брандмауэра.

Есть ли способ настроить эти серверы / службы для ответа на основе имени хоста, а не порта?

Также в файле конфигурации есть атрибут на узле коннектора, называемый «redirectPort» в server.xml. Что оно делает?

..фредрик

РЕДАКТИРОВАТЬ:

Я сделал виртуальный хост в apache, чтобы попытаться перенаправить на мои внутренние адреса.

NameVirtualHost *:80

<VirtualHost *:80>
    ProxyPreserveHost On
    ProxyPass / http://youtrack.local:8080/
    ProxyPassReverse / http://youtrack.loca:8080/
    ServerName youtrack.local
    ServerAdmin youtrack@something.com
</VirtualHost>

Но я получаю ошибку 403. И в журнале ошибок apache я получаю следующее:

client denied by server configuration: proxy:http://youtrack.local:8080/

Он работает, когда я нахожусь в своей локальной сети на работе или через VPN. Так что я думаю, что это где-то apache config. Любые идеи?

РЕДАКТИРОВАТЬ2:

Нашел решение. В apache2 / mods-enable / proxy.conf нужно изменить секцию на это:

<Proxy *>
            AddDefaultCharset off
            Order deny,allow
            Deny from all
            Allow from all
    </Proxy>

Предупреждение: это позволит передавать каждый запрос через прокси. Вы можете зарегистрироваться в mod_access для ограничения доступа.

Я не знаю, есть ли что-то, что вы можете сделать в Tomcat для прослушивания заголовков HTTP-хоста, но если вы установите Apache, пусть он прослушивает порт 80 и, в зависимости от запрашиваемого HTTP-хоста (virtualdir), он выполняет прокси-соединение обратно к экземпляру tomcat на соответствующих портах.

TeamCity в tar.gz содержит Tomcat. YouTrack в версии .jar включает Jetty. У нас есть краткое руководство о том, как настроить TeamCity и YouTrack для работы на одном сервере.