在防火墙或代理服务器后面安装和使用 Visual Studio 和 Azure 服务

如果你或贵组织使用防火墙或代理服务器等安全措施,则会有可能需要将其添加到“允许列表”的域 URL,以及可能需要打开的端口和协议,以便在安装和使用 Visual Studio 以及 Azure 服务时获得最佳体验。

  • 安装 Visual Studio :这些表包括要添加到允许列表的域 URL,以便你可访问所需的所有组件和工作负载。

  • 使用 Visual Studio 和 Azure 服务 :此表包括要添加到允许列表的域 URL 以及要打开的端口和协议,以便你可访问所需的所有功能和服务。

注意

本文针对 Windows 上的 Visual Studio 编写,但部分信息也适用于在防火墙或代理服务器后安装 Visual Studio for Mac

安装 Visual Studio

要添加到允许列表的 URL

因为 Visual Studio 安装程序从各个域及其下载服务器下载文件,以下是你可能需要在 UI 或部署脚本中以可信方式添加到允许列表的域 URL。

Microsoft 域

Domain 目标
go.microsoft.com 安装程序 URL 解析
aka.ms 安装程序 URL 解析
download.visualstudio.microsoft.com 安装包下载位置
download.microsoft.com 安装包下载位置
download.visualstudio.com 安装包下载位置
dl.xamarin.com 安装包下载位置
xamarin-downloads.azureedge.net Android SDK 包下载列表位置
marketplace.visualstudio.com Visual Studio 扩展下载位置
*.gallerycdn.vsassets.io Visual Studio 扩展下载位置
visualstudio.microsoft.com 文档位置
learn.microsoft.com 文档位置
msdn.microsoft.com 文档位置
www.microsoft.com 文档位置
*.windows.net 登录位置
*.microsoftonline.com 登录位置
*.live.com 登录位置
github-releases.githubusercontent.com Linux 开发
objects.githubusercontent.com Windows 生成工具
github.com 适用于 Windows 的 Git 和 Windows 生成工具
az837173.vo.msecnd.net 使用 Azure 存储进行开发

非 Microsoft 域

Domain 安装这些工作负载
archive.apache.org 使用 JavaScript 的移动开发 (Cordova)
cocos2d-x.org 使用 C++ 的游戏开发 (Cocos)
download.epicgames.com 使用 C++ 的游戏开发 (Unreal Engine)
launcher-public-service-prod06.ol.epicgames.com 使用 C++ 的游戏开发 (Unreal Engine)
download.oracle.com 使用 JavaScript 的移动开发 (Java SDK)

使用 .NET 的移动开发 (Java SDK)
public-cdn.cloud.unity3d.com 使用 Unity 的游戏开发 (Unity)
download.unity3d.com 使用 Unity 的游戏开发 (Unity)
netstorage.unity3d.com 使用 Unity 的游戏开发 (Unity)
dl.google.com 使用 JavaScript 的移动开发(Android SDK 和 NDK、仿真器)

使用 .NET 的移动开发(Android SDK 和 NDK、仿真器)
ib-downloads-official.s3.amazonaws.com 使用 C++ 的游戏开发 (IncrediBuild)
www.incredibuild.com 使用 C++ 的游戏开发 (IncrediBuild)
incredibuildvs2017i.azureedge.net 使用 C++ 的游戏开发 (IncrediBuild)
www.python.org Python 开发 (Python)

数据科学和分析应用程序 (Python)
developerservices2.apple.com Xamarin.iOS provisioning
developer.apple.com Xamarin.iOS provisioning
appstoreconnect.apple.com Xamarin.iOS provisioning
idmsa.apple.com Xamarin.iOS provisioning
akamaized.net 内容交付网络 (Akamai Technologies)
developer.arm.com ARM 开发

使用 Visual Studio 和 Azure 服务

要添加到允许列表的 URL 和要打开的端口和协议

为了确保在防火墙或代理服务器后使用 Visual Studio 或 Azure 服务时有权访问所需的一切,下面列出了应添加到允许列表的 URL,以及不妨打开的端口和协议。

服务或方案 DNS 终结点 协议/端口 说明
URL
解析
go.microsoft.com

aka.ms

用于缩短 URL,然后解析为更长的 URL
起始页 vsstartpage.blob.core.windows.net 443 用于显示起始页上显示的开发人员新闻(仅 Visual Studio 2017)
起始页 vsstartpagenewsfeed.azureedge.net 443 用于显示起始页上显示的开发人员新闻(Visual Studio 2019 及更高版本)
目标
通知
服务
targetednotifications-tm.trafficmanager.net

www.research.net
443

443
用于将全局通知列表筛选为一个仅适用于特定类型计算机/使用方案的列表
扩展
更新检查
marketplace.visualstudio.com

*.windows.net
*.microsoftonline.com
*.live.com
443 用于在已安装扩展有可用更新时提供通知

用作登录位置
AI 项目
集成
az861674.vo.msecnd.net 443
用于配置新项目,以将使用情况数据发送到你注册的 Application Insights 帐户
代码透镜 codelensprodscus1su0.app。
codelens.visualstudio.com
443 用于在编辑器中提供有关上次更新文件的时间、更改的时间线、更改与之关联的工作项、作者等信息
试验性
功能启用
visualstudio-devdiv-c2s.msedge.net 80 用于激活实验性新功能或功能更改
标识“徽章”
(用户名和虚拟形象)

漫游设置
app.vssps.visualstudio.com

app.vsspsext.visualstudio.com

app.vssps.visualstudio.com

ns-sb2-prod-ch1-002.cloudapp.net

az700632.vo.msecnd.net

api.vstsusers.visualstudio.com/profiles/*
443 用于在 IDE 中显示用户的名称和虚拟形象

用于确保设置更改从一台计算机漫游到另一台计算机
远程设置 az700632.vo.msecnd.net 443 用于关闭已知会在 Visual Studio 中引发问题的扩展
Windows 工具 developer.microsoft.com

dev.windows.com

appdev.microsoft.com
https/443 用于 Windows 应用商店方案
JSON 架构
发现

JSON 架构
定义

JSON 架构
支持对 使用
Azure 资源
json.schemastore.org
schemastoreorg.azurewebsites.net

json-schema.org

schema.management.azure.com
http/80
https/443

http/80

https/443
用于发现和下载 JSON 架构,用户在编辑 JSON 文档时可能会用到此架构

用于获取 JSON 的元验证架构

用于获取 Azure 资源管理器部署模板的当前架构
NPM 包
发现
Skimdb.npmjs.com

Registry.npmjs.org

Api.npms.io
https/443

http/80 &
https/443
https/443
搜索 NPM 包的必要条件,并用于 Web 项目中客户端脚本包的安装
Bower 包
图标

Bower 包
search
Bower.io

bowercache.azurewebsites.net
go.microsoft.com
Registry.bower.io
http/80

https/443
http/80
https/443
提供默认的 Bower 包图标

提供搜索 Bower 包的能力
NuGet

NuGet 程序包
发现
api.nuget.org
www.nuget.org
nuget.org
azuresearch-usnc.nuget.org
azuresearch-usnc.nuget.org
licenses.nuget.org
nuget.cdn.azure.cn
azuresearch-ea.nuget.org
azuresearch-sea.nuget.org

crl3.digicert.com
crl4.digicert.com
ocsp.digicert.com
cacerts.digicert.com
https/443

http/80 &
https/443
用于验证签名的 NuGet 包。

搜索 NuGet 包和版本的必要条件
GitHub 存储库信息 api.github.com https/443 获取有关 Bower 包其他信息的必要条件
Web Linters Eslint.org

www.Bing.com

www.coffeelint.org
http/80
Cookiecutter
资源管理器模板
发现

Cookiecutter
资源管理器项目
创建
api.github.com
raw.githubusercontent.com
go.microsoft.com

pypi.org
pypi.python.org
https/443
用于从我们建议的源和 github 存储库发现联机模板

用于从 cookiecutter 模板创建一个项目,要求从 Python 包索引 (PyPI) 一次性按需安装 cookiecutter Python 包
Python 包
发现

Python 包
管理

新的
Python
项目
模板
pypi.org

pypi.python.org
bootstrap.pypa.io

go.microsoft.com
https/443 提供搜索 pip 包的能力

用于自动安装 pip(如缺失)

用于将以下 Python 项目模板解析为 cookiecutter 模板 URL:
- 分类器项目
- 聚类分析项目
- 回归项目
- 使用 PyKinect 的 PyGame
- Pyvot 项目
Office Web
Add-in — 外接程序
file:///
确认
服务
verificationservice.osi.office.net https/443 用于验证 Office Web 外接程序的清单
SharePoint 和
Office 外接程序
sharepoint.com
microsoft.com/microsoft-365
microsoftonline.com
outlook.com
https/443 用于将 SharePoint 和 Office 加载项发布到 SharePoint Online 和 Microsoft 365 并对其进行测试
工作流管理器
测试服务
主机

http/12292 自动创建的防火墙规则,用于测试带工作流的 SharePoint 外接程序
自动收集
可靠性统计信息
和其他
客户体验
改善计划 (CEIP)
面向 Azure SDK 和
面向 SQL 工具

vortex.data.microsoft.com

dc.services.visualstudio.com
https/443 用于将可靠性统计信息(故障/无响应数据)从用户发送到 Microsoft。 在启用了 Windows 错误报告的情况下,仍将上传实际故障/无响应转储;只会禁止统计信息;
用于向 Visual Studio 显示 Azure Tools SDK 扩展的使用模式,并向 Visual Studio 显示 SQL 工具的使用模式
Visual Studio
客户体验
改善计划 (CEIP)

PerfWatson.exe
vortex.data.microsoft.com
dc.services.visualstudio.com
visualstudio-devdiv-c2s.msedge.net
az667904.vo.msecnd.net
scus-breeziest-in.cloudapp.net
mobile.events.data.microsoft.com
events.data.microsoft.com
https/443 用于收集使用模式和错误日志

用于跟踪 UI 冻结问题
创建和
管理
Azure 资源
management.azure.com
management.core.windows.net
https/443 用于创建 Azure 网站或其他资源,以支持 Web 应用、Azure Functions 或 WebJobs 的发布
更新的 Web 发布工具
检查和扩展
建议
marketplace.visualstudio.com https/443 用于检查已更新发布工具的可用性。 如果禁用,则可能不会显示用于 Web 发布的潜在建议扩展
更新的 Azure 资源
创建终结点信息
\* .blob.core.windows.net https/443 用于更新在为某些 Azure 服务创建 Azure 资源时使用的终结点。 如果禁用,则改为使用在终结点位置中最后一次下载或生成的资源
远程调试和
远程分析
Azure 网站
*.cloudapp.net
*.azurewebsites.net
4022 用于将远程调试器附加到 Azure 网站。 如果禁用,将远程调试器附加到 Azure 网站将不起作用
Active Directory
图形
graph.windows.net https/443 用于预配新的 Microsoft Entra 应用程序。 也由 Microsoft 365 MSGraph(已连接的服务提供程序)使用
Azure Functions
CLI 更新
勾选标记
functionscdn.azureedge.net https/443 用于检查 Azure Functions CLI 的更新版本。 如果禁用,将改为使用 CLI 的缓存副本(或 Azure Functions 组件提供的副本)
Cordova npmjs.org
gradle.org
http/80 &
https/443
HTTP 用于在生成期间下载 Gradle;HTTP 用于包含项目中的 Cordova 插件
Cloud Explorer 1. <clusterendpoint>
Service Fabric
2. <管理终结点>
常规 Cloud Exp
3. <图形终结点>
常规 Cloud Exp
4. <存储帐户终结点>
存储节点
5. <Azure 门户 URL>
常规 Cloud Exp
6. <密钥保管库终结点>
Azure 资源管理器 VM 节点
7. <PublicIPAddressOfCluster>
Service Fabric 远程调试和 ETW 跟踪

1. https/19080
2. https/443
3. https/443
4. https/443
5. https/443
6. https/443
7. tcp/dynamic
1.示例:test12.eastus.cloudapp.com
2.检索订阅并检索/管理 Azure 资源
3.检索 Azure Stack 订阅
4.管理存储资源(示例:mystorageaccount.blob.core.windows.net)
5.“在门户中打开”上下文菜单选项(在 Azure 门户中打开资源)
6.创建并使用 Key Vault 进行 VM 调试(示例:myvault.vault.azure.net)

7.基于群集中的节点数和可用端口动态分配端口块。 

一个端口块将尝试获取至少 10 个端口的 3 倍数量的节点。

对于流式处理跟踪,将尝试从 810 获取端口块。 如果任何端口块都已被使用,则尝试获取下一个端口块,依次类推。 (如果负载均衡器为空,则很可能使用来自 810 的端口)

对于调试是同样道理,将保留四个端口块集:
- connectorPort: 30398,
- forwarderPort: 31398,
- forwarderPortx86:31399,
- fileUploadPort:32398
云服务 1.RDP

2. core.windows.net

3. management.azure.com
management.core.windows.net

4. *.blob.core.windows.net
*.queue.core.windows.net
*.table.core.windows.net

5. portal.azure.com

6. <用户的云服务>.cloudapp.net
<用户的 VM>.<区域>.azure.com
1. rdp/3389

2. https/443

3. https/443

4. https/443

5. https/443

6. tcp
a) 30398
b) 30400
c) 31398
d) 31400
e) 32398
f) 32400
1.云服务 VM 的远程桌面

2.专用诊断配置的存储帐户组件

3.Azure 门户

4.服务器资源管理器 - Azure 存储 * 是客户命名的存储帐户

5.用于打开门户/下载订阅证书/发布设置文件的链接

6. a) 用于云服务和 VM 远程调试的连接器本地端口
6. b) 用于云服务和 VM 远程调试的连接器公用端口
6. c) 用于云服务和 VM 远程调试的转发器本地端口
6. d) 用于云服务和 VM 远程调试的转发器公用端口
6. e) 用于云服务和 VM 远程调试的文件上传程序本地端口
6. f) 用于云服务和 VM 远程调试的文件上传程序公用端口
Service Fabric 1.
learn.microsoft.com
aka.ms
go.microsoft.com

2.
vssftools.blob.core.windows.net
Vault.azure.com
Portal.azure.com

3. * vault.azure.net

4.
app.vsaex.visualstudio.com
* .vsspsext.visualstudio.com
clouds.vsrm.visualstudio.com
clouds.visualstudio.com
app.vssps.visualstudio.com
* .visualstudio.com
https/443 1.文档

2.创建群集功能

3.* 是 Azure Key Vault 名称(示例:test11220180112110108.vault.azure.net

4. * 为动态(示例:vsspsextprodch1su1.vsspsext.visualstudio.com)
快照
调试器
1. go.microsoft.com
2. management.azure.com
3. *.azurewebsites.net
4. *.scm.azurewebsites.net
5. api.nuget.org/v3/index.json
6.远程服务/服务器 IP 地址/FQDN
1. https/443
2. https/443
3. http/80
4. https/443
5. https/443
6.Concord/
4022(Visual Studio 从属版本)
1.查询 .json 文件的应用服务 SKU 大小
2.各种 Azure RM 调用
3.站点预热调用渠道
4.客户的目标应用服务 Kudu 终结点
5.查询 nuget.org 中发布的站点扩展版本
6.远程调试
Azure 流分析

HDInsight
Management.azure.com https/443 用于查看、提交、运行和管理 ASA 作业

用于浏览 HDI 群集,以及提交、诊断和调试 HDI 作业
Azure Data Lake *.azuredatalakestore.net
*.azuredatalakeanalytics.net
https/443 用于编译、提交、查看、诊断和调试作业;用于浏览 ADLS 文件;用于上传和下载文件
打包服务 [account].visualstudio.com
[account].*.visualstudio.com
*.blob.core.windows.net
registry.npmjs.org
nodejs.org
dist.nuget.org
nuget.org
https/443 只有某些生成任务方案(例如 NuGet 工具安装程序、节点工具安装程序)或在计划通过 Feeds 使用公共上游时,才需要 *.npmjs.org、*.nuget.org 和 *.nodejs.org。 要使用打包服务的核心功能,还需具备其他三个域。
Azure DevOps Services *.vsassets.io
static2.sharepointonline.com
dev.azure.com

用于连接 Azure DevOps Services
Azure 服务总线 *.servicebus.windows.net ampq/5671 和 5672、
sbmp/9350-9354、
http/80、
https/443
用于创建队列、主题和订阅。
还用来与服务总线队列和主题收发消息。
Azure Cosmos DB *.documents.azure.com https/443 用于调用核心文档数据库 API。
开发人员社区 sendvsfeedback2.azurewebsites.net/api https/443 用于调用开发者社区反馈工具 API(我的问题、搜索、投票、评论、提交、上传、恢复)
Intellicode *.intellicode.vsengsaas.visualstudio.com https/443 用于调用 Intellicode API
Live Share *.liveshare.vsengsaas.visualstudio.com https/443 用于调用 Live Share API
GitHub Codespaces *.online.visualstudio.com https/443 用于调用 GitHub Codespaces API
JavaScript 自动类型获取 registry.npmjs.org https/443 用于安装 TypeScript 类型定义,为常用 JavaScript 库提供 IntelliSense
Visual Studio 订阅许可服务 1. app.vssps.visualstudio.com/apis/
Licensing/ClientRights

2. api.subscriptions.visualstudio.microsoft.com/
Me/Entitlements/IDEBenefits
https/443 联机激活的许可
调试器 1.
vsdebugger.blob.core.windows.net
vsdebugger.azureedge.net

2.
download.visualstudio.com/*/
onecore.msvsmon.*.zip

3. referencesource.microsoft.com/symbols

4.
symbols.nuget.org/download/symbols

5. visualstudio.com

6. msdl.microsoft.com/download/symbols
https/443 1.
用于下载在 Unix/macOS 上通过 SSH 进行 .NET Core 调试所需的调试器位

2.
用于下载远程 Windows Docker 容器调试的调试器位

3.用于 .NET Framework 源单步执行

4.
(如果用户选择加入)用于下载已发布到 nuget.org 符号服务器的符号。

5.(如果用户选择加入)用于下载 MS 符号和二进制文件,还可能需要调试转储中的托管代码
GitHub Codespaces *.online.visualstudio.com https/443 用于调用 GitHub Codespaces API
Xamarin Android 应用发布 *.googleapis.com
play.google.com
accounts.google.com
https/443 用于与 Google Play Store 服务交互,以便直接从 Visual Studio 发布/上传 Xamarin Android 应用程序。
Visual Studio 搜索服务 data-ai.microsoft.com/search https/443 用于在 Ctrl+Q 搜索框中提供启用 AI 的 Visual Studio 搜索服务
Azure 容器注册表 *.azurecr.io https/443 访问 Azure 上托管的容器注册表,用于配置 CICD 管道
Visual Studio for Mac 更新程序 software.xamarin.com https/443 用于获取可用更新的列表
Visual Studio for Mac 错误报告 nw-umwatson.events.data.microsoft.com https/443 用于收集故障、无响应和延迟的可靠性报告

有时,当你在防火墙或代理服务器后安装或使用 Visual Studio 时,可能会遇到与网络或代理相关的错误。 有关此类错误消息的解决方案的详细信息,请参阅安装或使用 Visual Studio 时与网络相关错误的疑难解答页面。

获取支持

对于与安装相关的问题,我们提供安装聊天(仅限英语)支持选项。

下面是另外几个支持选项: