存储资源管理器使用你的网络向存储资源及其他 Azure 服务和 Microsoft 服务发出请求。
在使用过程中,存储资源管理器会向各个终结点发出请求。 以下列表详细说明了存储资源管理器向其发出请求的常见主机名:
- ARM 端点:
management.chinacloudapi.cn
(由世纪互联运营的 Microsoft Azure)
- 登录端点:
login.chinacloudapi.cn
(由世纪互联运营的 Microsoft Azure)
- Graph 终结点:
graph.chinacloudapi.cn
(由世纪互联运营的 Microsoft Azure)
- Azure 存储终结点:
(blob|file|queue|table|dfs).core.chinacloudapi.cn
(由世纪互联运营的 Microsoft Azure)
- 存储资源管理器更新:
storage-explorer-publishing-feapcgfgbzc2cjek.b01.azurefd.net
- Microsoft 链接转发:
aka.ms
go.microsoft.com
- 资源所在的任何自定义域、专用链接或特定于 Azure Stack 实例的终结点
- 远程仿真器主机名
Storage Explorer 提供多个选项,用于指定它如何/从何处获取连接到代理所需的信息。 若要更改所用的选项,请转到“设置”(左侧垂直工具栏上的齿轮图标)“应用程序”>“代理”。 进入“设置”的“代理”部分后,可以选择你希望存储资源管理器如何/在何处寻找代理设置:
在某些情况下,存储资源管理器可能会自动更改代理源和其他与代理相关的设置。 若要禁用此行为,请转到“设置”(左侧垂直工具栏上的齿轮图标)“应用程序”>“代理”“自动管理代理设置”。 禁用此设置将阻止存储资源管理器更改任何手动配置的代理设置。
选择此选项后,存储资源管理器不会尝试连接到代理。 “不使用代理”是默认选项。
选择此选项后,存储资源管理器将从特定的环境变量查找代理信息。 这些变量包括:
HTTP_PROXY
HTTPS_PROXY
如果定义了这两个变量,则存储资源管理器将从 HTTPS_PROXY
寻找代理信息。
这些环境变量的值必须是采用以下格式的 URL:
(http|https)://(username:password@)<hostname>:<port>
只有协议 (http|https
) 和主机名是必需的。 如果你有用户名,你并非必须要提供密码。
选择此选项后,存储资源管理器将使用应用内部的代理设置。 这些设置包括:
- 协议
- 主机名
- 港口
- 使用/不使用凭据
- 资格证书
可从以下任一位置管理除凭据以外的其他所有设置:
- “设置”(左侧垂直工具栏上的齿轮图标)>“应用程序”>“代理”>“使用凭据”。
- "代理设置"对话框(“编辑”>“配置代理”)。
若要设置凭据,必须转到“代理设置”对话框(编辑>配置代理)。
选择此选项后,存储资源管理器将使用 OS 代理设置。 更具体地说,这将导致使用 Chromium 网络堆栈发出网络调用。 Chromium 网络堆栈的可靠性比存储资源管理器通常使用的 Node.js 网络堆栈要高得多。 以下是摘自Chromium 文档的一段代码片段,展示了它的所有功能:
Chromium 网络堆栈使用系统网络设置,使用户和管理员能够轻松控制所有应用程序的网络设置。 网络设置包括:
- 代理设置
- SSL/TLS 设置
- 证书吊销检查设置
- 证书和私钥存储
如果代理服务器需要凭据,但未在 OS 设置中配置这些凭据,则你需要在存储资源管理器中启用并设置这些凭据。 可从以下任一位置切换凭据的使用:
- “设置”(左侧垂直工具栏上的齿轮图标)>“应用程序”>“代理”>“使用凭据”。
- "代理设置"对话框(“编辑”>“配置代理”)。
若要设置凭据,必须转到“代理设置”对话框(“编辑”>“配置代理”)。
如果已将存储资源管理器配置为从环境变量或应用代理设置中寻找代理设置,则仅支持使用基本身份验证的代理服务器 。
如果已将存储资源管理器配置为使用系统代理,则支持使用以下任一身份验证方法的代理服务器:
- 基本
- 摘要
- NTLM
- 谈判
应首先尝试使用系统代理。 之后,应用设置是下一个最佳选项。 用于完成代理配置的基于 GUI 的体验有助于减少错误输入代理信息的可能性。 但是,如果已配置代理环境变量,则使用环境变量可能更好。
存储资源管理器将 AzCopy 用于大多数的数据传输操作。 AzCopy 是使用一套不同于存储资源管理器的技术编写的,因此具有一组略微不同的代理功能。
如果存储资源管理器配置为不使用代理或配置为使用系统代理,则AzCopy 会被告知使用其自身的自动检测代理功能,来确定它是否应该以及应该如何向代理发出请求 。 但是,如果已将存储资源管理器配置为从环境变量或应用代理设置中寻找代理设置,则存储资源管理器将告知 AzCopy 使用相同的代理设置 。
如果无论在哪种情况下,你都不希望 AzCopy 使用代理,可以通过切换“设置”(左侧垂直工具栏上的齿轮图标)“传输”>“AzCopy”“禁止 AzCopy 使用代理”来禁止使用代理。
目前,AzCopy 仅支持使用基本身份验证的代理服务器。
默认情况下,存储资源管理器使用 Node.js 网络堆栈。 Node.js 随附了预定义的受信任 SSL 证书列表。 某些网络技术(例如代理服务器或防病毒软件)会将自身的 SSL 证书注入到网络流量中。 这些证书通常不会出现在 NodeJS 的证书列表中。 Node.js 不信任包含此类证书的响应。 当 Node.js 不信任某个响应时,存储资源管理器将收到错误。
可通过多种做法解决此类错误:
- 使用系统代理作为代理源。
- 导入导致出错的 SSL 证书的副本。
- 禁用 SSL 证书。 (不建议)