我该如何设置TeamCity以通过https进行公共访问?

16

我应该如何设置 TeamCity 4.0,以便我可以通过互联网上的443端口访问它?例如:https://teamcity.mydomain.com

我在同一台安装了 TeamCity 的服务器上运行 IIS 7。我看到两个选项:

  1. 设置 TeamCity 使用端口 8443,并在 IIS 中创建反向代理,将请求路由到内部 IP 地址上 Tomcat 端口上的 TeamCity 公共 IP 地址。

  2. 设置 Tomcat 在不同于 IIS 7 的 IP 地址上运行,并配置 TeamCity 在端口 443 上运行。

我对这些步骤的细节不太确定。


被接受的答案是针对Apache的。你是否使用了关联页面中针对IIS的指导说明? - Mark
Mark,IIS 7 ARR应该可以正常工作。我只是还没有尝试过。我们已经有了一个Apache反向代理,所以我们使用它。 - Lance Fisher
3个回答

11

需要对捆绑的Tomcat服务器进行https配置。请参见这里:

http://confluence.jetbrains.net/display/TCD65/Using+HTTPS+to+access+TeamCity+server

以及这里:

http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html

我还设置了Tomcat仅监听一个IP地址。所有这些都很麻烦,我仍然无法将TeamCity运行为服务。我只能在命令行上运行它。如果我要重新开始这个过程,我会安装TeamCity以在默认端口上运行,并使用IIS7应用程序请求路由或Apache虚拟目录进行反向代理。

[编辑] 我已经重新做了这件事,并使用了IIS应用程序请求路由来设置反向代理。它完美地工作,而且TeamCity的升级也非常容易。


我直接转向了IIS ARR,因为你的评论,并且在大约5分钟内让它运行起来了。我有一种感觉,你为我节省了很多烦人的时间。 - Esben Skov Pedersen

1

如果您不期望高服务器负载,可以避免使用IIS或Apache,并在Tomcat中直接启用SSL。这样更简单易配置。唯一的缺点是当客户端连接到服务器时(在协商阶段),会出现高CPU使用率,之后CPU使用率可以忽略不计。


0

请确保您还加载了这两个模块

LoadModule proxy_module bin/mod_proxy.so 
LoadModule proxy_http_module bin/mod_proxy_http.so

ProxyPass /TeamCity http://localhost/TeamCity
ProxyPassReverse /TeamCity http://localhost/TeamCity

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接