You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在VSTS托管代理中配置Service Fabric集群域名映射?

解决VSTS托管代理连接Service Fabric集群的域名解析问题

没问题,我来帮你搞定这个托管代理上的hosts配置问题,这样就能用域名mydomain.net连接你的Service Fabric集群,避免证书认证失败的错误。

核心思路

你的Service Fabric证书是绑定到mydomain.net域名的,直接用IP连接时,证书里的身份标识和IP不匹配,所以才会出现Failed to authenticate server identity错误。我们需要在VSTS托管代理上临时修改hosts文件,让mydomain.net指向集群的公网IP,和你本地电脑的操作逻辑完全一致。

具体步骤

  1. 在VSTS发布管道中新增PowerShell任务
    在部署Service Fabric应用的任务之前,添加一个PowerShell任务——这个任务必须以管理员权限运行,因为修改系统hosts文件需要权限。

  2. 编写修改hosts的PowerShell脚本
    把下面的脚本复制到任务的脚本输入框里,替换[你的集群虚拟机公网IP]为实际的IP地址:

    $hostsPath = "C:\Windows\System32\drivers\etc\hosts"
    $targetIp = "[你的集群虚拟机公网IP]"
    $targetDomain = "mydomain.net"
    
    # 检查hosts文件中是否已经存在该域名条目,避免重复添加
    $existingEntry = Get-Content $hostsPath | Where-Object { $_ -match "\s+$targetDomain$" }
    if (-not $existingEntry) {
        # 添加IP和域名的映射,用制表符分隔
        Add-Content $hostsPath "$targetIp`t$targetDomain" -Force
        Write-Host "成功添加 $targetIp -> $targetDomain 到hosts文件"
    } else {
        Write-Host "hosts文件中已经存在 $targetDomain 的映射条目"
    }
    
  3. 保持Service Fabric部署任务的参数不变
    部署任务的连接参数和你本地PowerShell的配置完全一致即可:

    • Connection Endpoint: mydomain.net:19000
    • 认证方式选择X509证书,填入对应的证书指纹、存储位置等参数

这样一来,托管代理在运行时会通过hosts文件把mydomain.net解析到你的集群公网IP,同时证书认证时能匹配域名,自然就能成功连接集群了。

内容的提问来源于stack exchange,提问作者SteppingRazor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 07:22:17