Joh*_*lph 33
使用IIS 7.5,您可以使用应用程序请求路由将请求路由teamcity.server.domain.com:80到Tomcat server.domain.com:81.我认为这种方法更优越,因为Tomcat连接器在WS2008 x64下看起来有点不稳定.
Jon Alb对如何在WS2008上配置TeamCity和IIS有一个很好的写作:
此外,你需要确保你的DNS可以解析teamcity.server.domain.com到server.domain.com.我的IIS服务器需要ipconfig /registerdns正确更新其DNS条目.正确地意味着在这种情况下在domain.com查找区域中创建域条目server,简单的A-Record是不够的.在该域中,您需要为*创建CNAME记录,因此任何子域都将重定向到server.domain.com
我遇到的一个大问题是,IIS 7.5似乎不再正确地写入applicationHost.config文件,因此端口号不会最终被持久化.这将导致一个令人讨厌的400.0 Bad Request错误,因为将达到MAX_FORWARDS限制(请求以root为单位).
要解决此问题,请将以下内容添加到C:\Windows\System32\inetsrv\config:
<webFarms>
<webFarm name="teamcity" enabled="true" adminUserName="" adminPassword="[enc:AesProvider:2blZ7roifGTktpn8zBBuVQ==:enc]" primaryServer="">
<server address="localhost" enabled="true">
<applicationRequestRouting httpPort="YOURPORTHERE!!!" />
</server>
<applicationRequestRouting>
<loadBalancing algorithm="WeightedRoundRobin" />
<protocol reverseRewriteHostInResponseHeaders="true" />
</applicationRequestRouting>
</webFarm>
</webFarms>
Run Code Online (Sandbox Code Playgroud)
编辑如果您正在运行其他站点,并获得404,除了第2部分之外,您需要创建一个虚拟站点来捕获主机名,如下面的Ian Patrick Hughes回答所述.
在IIS 7中托管TeamCity的分步指南
http://blog.endjin.com/2010/11/a-step-by-step-guide-to-hosting-teamcity-in-iis-7/