配置IIS 7反向代理以连接到TeamCity Tomcat


12

我们已经配置了IIS 7 Web服务器,并希望在同一台计算机上使用TomcatTeamCity安装创建反向代理

IIS服务器的网站是https://somesite和我想的TeamCity显示为https://somesite/teamcity重定向到http://localhost:portnumber

我已经安装了IIS URL重写扩展名和“ 应用程序请求路由”,以尝试设置反向代理,但无法使其正常工作。

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

我已经搜索了很多,但似乎找不到相关的示例。

任何帮助表示赞赏!


我还注意到,使用这种方法,TeamCity中的某些按钮会导致“ http”而不是“ https”……也许没有一个很好的方法。尽管可以重写它,这是否意味着第一次调用所有数据都将以纯文本格式发送?嗯
tofutim

Answers:


12

仅仅花费了大约4个小时的时间来尝试为TeamCity配置SSL(并使用该线程中的答案),我设法使用服务器场选项使它开始工作。

  • 我配置了一个TeamCity服务器场,该服务器场使用端口8080将我的TeamCity服务器包括在127.0.0.1上,并允许应用程序路由规则创建相应的服务器场路由规则。

  • 然后,我创建了一个名为TeamCitySecureProxy的网站,该网站配置了自签名证书。在绑定上,我仅配置了https / 443(没有http / 80)。

  • 我缺少的部分:- 然后单击IIS中“服务器场”下的“ TeamCity”节点,从“服务器场”窗格中选择“代理”,然后勾选“响应头中的反向重写主机”。

现在,我有了一个安全的端点,可以访问我的纯http TeamCity安装。


1
我收到“ 502-Web服务器充当网关或代理服务器时收到无效响应”。-您在旅途中是否遇到过这种情况?如果是,如何解决?
mcintyre321 '04

这个解决方案对我有用。反向重写主机是必需的,否则某些按钮将导致http而不是https。由于沃伦
tofutim

在这种情况下,nuget服务器存在一些问题。:(
tofutim 2014年

1

您也可以使用连接器来这样做。

Apache可以直接使用旧的ISAPI连接器(重定向器),或者RiaForge可以使用新的连接器(此连接器似乎更容易运行)。

http://tomcatiis.riaforge.org/


1
*.jar文件呢?我在IIS 7.5上安装了此文件,但它只提供*.jsp内容... :(我在已vaadin-6.6.2.jar部署的Web应用程序的根目录中有一个文件。我认为BonCode AJP Connector仅处理JSP,我可以Boncode-Tomcat-JSP-Handler在的“处理程序映射”选项中看到IIS,但未设置应如何处理*.jar文件
Sk8erPeter

1

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

  1. 443上的IIS站点(可能是80)?-侦听所有请求(不指定主机名)
  2. 查看所有传入路径:匹配网址 (.*)
  3. 查找TeamCity路径,保留其余路径:条件{URL} 匹配^teamcity(/.*)?
  4. 用保留的路径重写:动作重写, http://localhost:port/{C:1}
  5. 附加查询字符串已选中
  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>

0

我自己做了这个,并刚刚发布了一个博客。

您似乎已经安装了所有要求,现在只需要设置服务器即可:

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


使用您的帖子没有乐趣。我已经尝试过ServerFarm选项。我需要使它仅在SSL上运行,IIS并不仅限于80到443。还需要使站点按问题root / teamcity中的描述工作,并且帖子上的详细信息不足以使其以这种方式工作。感谢您的链接,虽然
Cynicszm
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.