Ubuntu

在同一伺服器和同一埠上執行 TeamCity 和 YouTrack?

  • August 7, 2011

我想使用從 jetbrains.com 下載的自包含 jars(如果它們被稱為)在同一伺服器(ubuntu linux)上執行兩者。我認為他們使用 java 執行一些內部 tomcat/catalina 伺服器。

我一直在不同的埠上執行這些並使用不同的主機名來避免會話問題(因為據我了解會話綁定到主機名)。

主機名 buildserver.local 和 youtrack.local 都指向同一個 IP 地址。但是在不同的埠上定義了響應請求的伺服器。這對只允許來自防火牆外部的埠 80 的防火牆造成了一些麻煩。

無論如何配置這些伺服器/服務以基於主機名而不是埠進行響應?

同樣在配置文件中,連接器節點上有一個名為 server.xml 中的“redirectPort”的屬性。它有什麼作用?

..弗雷德里克

編輯:

我在 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配置的一些地方。有任何想法嗎?

編輯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 實例。

tar.gz 中的 TeamCity 包含 Tomcat。.jar 版本中的 YouTrack 包括 Jetty。我們有一個關於如何設置 TeamCity 和 YouTrack 以在同一伺服器上執行的簡短指南。

引用自:https://serverfault.com/questions/212944