有什么想法吗?
有什么想法吗?
在IIS 7.5中,您可以使用应用程序请求路由来将请求路由到teamcity.server.domain.com:80
上的Tomcat,以便在server.domain.com:81
上运行。我认为这种方法更优越,因为在WS2008 x64下,Tomcat连接器似乎有点不稳定。
Jon Alb在如何配置WS2008上的TeamCity和IIS方面有很好的文章:
此外,您需要确保您的DNS可以将teamcity.server.domain.com
解析为server.domain.com
。我的IIS服务器需要通过ipconfig /registerdns
更新其DNS条目才能正确地进行更新。在这种情况下,正确意味着在domain.com查找区域中创建一个Domain条目来获取server
,简单的A记录是不够的。在该域中,您需要为*创建一个CNAME记录,以便任何子域都将重定向到server.domain.com
我遇到的一个大问题是,IIS 7.5似乎不再正确地编写applicationHost.config
文件,因此端口号不会持久化。这将导致令人讨厌的400.0 Bad Request
错误,因为将达到MAX_FORWARDS限制(请求在循环中根源)。
要解决此问题,请将以下内容添加到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>
编辑 如果您正在运行其他站点,并且除了遵循第2部分之外还遇到404错误,则需要创建一个虚拟站点来捕获主机名,如下面的Ian Patrick Hughes答案所述。
您需要安装Tomcat和Tomcat的IIS连接器,此处提供下载链接。