如何:将生成代理设置为要求 HTTPS 和安全套接字层 (SSL)

更新:2007 年 11 月

若要为 SSL 连接配置生成代理,必须为每个 IP 地址和端口组合分别配置一个 HTTPS 证书。如果所有生成代理在生成计算机上共享同一个端口,则必须仅配置一个证书。如果在多个端口上运行多个生成代理,则必须为每一个端口分别配置一个证书。

在为 SSL 连接配置生成代理之前,请确保满足以下系统必备:

若要将生成代理配置为要求 SSL,请按顺序执行以下任务:

  1. 创建生成代理并将其配置为要求 HTTPS。

  2. 停止 Visual Studio Team Foundation Build 服务。

  3. 将生成服务配置修改为要求 HTTPS。

  4. 将证书与 IP 地址和端口进行关联。

  5. 为生成代理配置端口和协议。

  6. 重新启动 Visual Studio Team Foundation Build 服务。

  7. 验证 SSL 配置。

必需的权限

为了完成此过程,您必须是装有 Team Foundation Build 的计算机上的 Administrators 组的成员。有关更多信息,请参见 Team Foundation Server 权限

将生成代理配置为要求 HTTPS

  1. 在“管理生成代理”对话框中,选中“要求安全通道(HTTPS)”复选框。

    有关更多信息,请参见如何:创建和管理生成代理

  2. 单击“编辑”。

  3. 在“生成代理属性”对话框中,从“代理状态”下拉菜单中选择“禁用”。

停止 Visual Studio Team Foundation Build 服务

  1. 使用生成计算机上 Administrators 组的成员帐户登录到该计算机。

  2. 在生成计算机上,依次单击“开始”、“控制面板”、“管理工具”和“服务”。

  3. 在“服务(本地)”窗格上,右击“Visual Studio Team Foundation Build”,然后单击“属性”。

    “Visual Studio Team Foundation Build 属性(本地计算机)”对话框打开。

  4. 在“服务状态”下,单击“停止”。

将 Visual Studio Team Foundation Build 配置修改为要求 HTTPS

  1. 使用生成计算机上 Administrators 组的成员帐户登录到该计算机。

  2. 打开“根:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies”,右击 TfsBuildservice.config.exe,然后单击“打开”。

    该文件在 Visual Studio 的 XML 编辑器中打开。

  3. 将 RequireSecureChannel 键(位于 <appSettings> 节下)的值更改为“true”。

    例如,将该键定义更改为以下字符串:

    <add key="RequireSecureChannel" value="true" />
    
  4. 保存更改并关闭文件。

将 SSL 证书与 IP 地址和端口号进行关联

  1. 使用生成计算机上 Administrators 组的成员帐户登录到该计算机。

    说明:

    在 Team Foundation Build 服务帐户个人存储区或本地计算机个人存储区中安装 Visual Studio Team Foundation Build 服务的证书。如果在登录用户的个人存储区中安装证书,则 Team Foundation Build 将不会运行。

  2. 使用“证书”管理单元查找打算用于客户端身份验证的 X.509 证书。

    有关更多信息,请参见 https://go.microsoft.com/fwlink/?LinkId=93828

  3. 将该证书的指纹复制到文本编辑器(如“记事本”)中。

  4. 移除十六进制字符之间的所有空格。

    可使用文本编辑器的查找并替换功能将每一个空格替换为 null 字符,以便移除所有空格。

  5. 在生成计算机上,依次单击“开始”、“所有程序”、“Windows 支持工具”,然后单击“命令提示符”。

  6. 以“set”模式对 SSL 存储区执行 HttpCfg.exe 工具,以便将该证书绑定到某个端口号。

    该工具使用指纹来标识证书,如下面的示例所示:

    httpcfg set ssl /i 0.0.0.0:9191 /h ThumbprintWithNoSpaces
    

    /i 参数的语法为“IP 地址:端口”,并指示该工具将证书设置到生成计算机的端口 9191。为简单起见,可使用 IP 地址 0.0.0.0 来保留所有计算机地址。如果需要更加精确,请指定用来发布代理服务的确切 IP 地址。/h 参数指定该证书的指纹。

    如果必须协商客户端证书,请添加 /f 2 参数,如下面的示例所示:

    httpcfg set ssl /i 0.0.0.0:9191 /h ThumbprintWithNoSpaces /f 2
    

    有关 HttpCfg.exe 命令语法的更多信息,请参见 https://go.microsoft.com/fwlink/?LinkId=93829

说明:

如果要使用 Windows Vista 或 Windows Server 2008 操作系统,请使用 netsh.exe 而不是 HttpCfg.exe。有关 netsh.exe 的更多信息,请参见 https://go.microsoft.com/fwlink/?LinkId=98790

配置生成代理端口和协议

  1. 在命令提示符处,运行 wcfhttpconfig free端口号。

    该命令语句应类似于下面的字符串:

    wcfhttpconfig free OldPortForHttp
    

    有关更多信息,请参见 wcfhttpconfig (Team Foundation Build)

  2. 在命令提示符处,运行 wcfhttpconfig reserve用户帐户URL。

    该命令语句应类似于下面的内容:

    wcfhttpconfig reserve Domain\Account https://+:NewPortForHttps/Build/v2.0/AgentService.asmx
    
  3. 将该端口添加到 Windows 防火墙的例外列表中。

重新启动 Visual Studio Team Foundation Build 服务

  1. 使用生成计算机上 Administrators 组的成员帐户登录到该计算机。

  2. 在生成计算机上,依次单击“开始”、“控制面板”、“管理工具”和“服务”。

  3. 在“服务(本地)”窗格上,右击“Visual Studio Team Foundation Build”,然后单击“属性”。

    “Visual Studio Team Foundation Build 属性(本地计算机)”对话框打开。

  4. 在“服务状态”下,单击“启动”。

验证 SSL 配置

  1. 在“管理生成代理”对话框中,单击“编辑”。

  2. 在“生成代理属性”对话框中,从“代理状态”下拉菜单中选择“启用”。

    有关更多信息,请参见如何:创建和管理生成代理

  3. 通过使用生成代理执行生成来验证是否可以进行通信。

    有关更多信息,请参见如何:启动生成定义或对其进行排队

请参见

任务

演练:设置带有安全套接字层 (SSL) 和 ISAPI 筛选器的 Team Foundation Server

概念

Team Foundation Server、HTTPS 和安全套接字层 (SSL)

Team Foundation Server、基本身份验证和摘要式身份验证

其他资源

使用 HTTPS 和安全套接字层 (SSL) 保护 Team Foundation Server