版本:
作为JavaEE WAR,TeamCity安装在预先存在的TomCat安装中。 IIS已成功设置为反向TeamCity的代理调用。 我的重写规则如下:
<rule name="TeamCity Redirect" stopProcessing="true"> <match url="^(TeamCity.*)" /> <action type="Rewrite" url="http://localhost:8080/{R:1}" logRewrittenUrl="true" /> </rule>
我从远程主机login到TeamCity并使用/pipe理它没有任何问题。 但是,当启用内置的NuGet服务器时,我遇到了令人沮丧的问题。
尝试从任何远程主机代理通过IIS访问Nuget饲料给我一个HTTP 404错误。 404错误来自IIS。 当我从url中删除最后的path部分时,404错误来自Tomcat。
例:
所以,我有一个问题与IIS尊重与* .svc文件redirect,但对于我的生活,我无法弄清楚为什么,或者这是设置。
任何帮助是极大的赞赏。
似乎你不需要任何重写规则。 检查TeamCity服务器上下文path与公共服务器相同,即http://public.com/ contextPath和http:// localhost:8080 / contextPath 。
TeamCity使用请求URI来生成NuGet提要,所以你应该确保你的代理提供了HOST,X-Forwarded-Host,X-Forwarded-Server,X-Forwarded-For头。 您可以启用/检查tomcat的访问日志,查看哪些请求来自IIS到TeamCity。
请参阅http://blog.endjin.com/2010/11/a-step-by-step-guide-to-hosting-teamcity-in-iis-7/上的安装指南
如果这不起作用,请将服务器日志附加到[email protected]
啊,张贴的权力。 问了这个问题之后,我决定看看我已经设置了一次的规则。
规则是在网站级别设置的。 我把它们移到了服务器层面,一切都像魅力一样。