configurationIIS 7反向代理连接到TeamCity Tomcat

我们已经configuration了IIS 7networking服务器,并且希望在同一台机器上为使用TomcatTeamCity安装创build反向代理

IIS服务器站点是https://somesite ,我希望TeamCity显示为https://somesite/teamcityredirect到http://localhost:portnumber

我已经安装了IIS URL Rewrite扩展应用程序请求路由来尝试设置一个反向代理,但无法使其工作。

我find最接近的答案是一个旧的StackOverflow问题: https ://stackoverflow.com/questions/331755/how-do-i-setup-teamcity-for-public-access-over-https
不幸的是没有任何工作的例子。

我search了很多,但似乎无法find一个相关的例子。

任何帮助表示赞赏!

花了大约4个小时来为TeamCityconfigurationSSL(并在这个线程中使用答案),我设法使用服务器场选项来实现这个function。

  • 我使用端口8080configuration了一个包含TeamCity服务器的TeamCity服务器群,并允许应用程序路由规则创build相应的服务器群路由规则。

  • 然后我创build了一个名为TeamCitySecureProxy的网站,我使用自签名证书进行了configuration。 在绑定我只configuration了https / 443(没有http / 80)。

  • 我丢失的部分: – 然后我点击IIS服务器场下的“TeamCity”节点,从“服务器场”窗格中select“代理服务器”,并勾选“响应头中的反向重写主机”。

我现在有一个安全的端点来访问我的普通http TeamCity安装。

你也可以使用连接器来做到这一点。

旧的ISAPI连接器(redirect器)可以直接从Apache获得,也可以从RiaForge获得新的连接器(这个似乎更容易运行)。

http://tomcatiis.riaforge.org/

确保在IIS GUI中启用了ARR代理。 您可能需要保留主机头(可能需要手动编辑applicationHost.config,或者使用appcmd来设置此主机头),并在启用的响应头选项中反向重写主机,以便浏览器发出请求并查看与SSL证书主机。

  1. 在443(和80可能?)上的IIS站点 – 侦听所有请求(不指定主机名)
  2. 查看所有传入path:匹配URL (.*)
  3. 查找TeamCitypath,保留path的其余部分:条件{URL}匹配^teamcity(/.*)?
  4. 用保存的path重写:action rewrite, http://localhost:port/{C:1}
  5. 追加querystring检查
  6. 并停止处理进一步的规则可能检查

我认为应该这样做。

 <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> 

我刚刚自己做了这个,刚刚发布了一个关于它的博客。

你似乎已经安装了所有的要求,现在你只需要安装服务器:

http://bronumski.blogspot.com/2010/10/host-teamcity-in-iis7.html