转发代理
转发代理是一种基于软件的代理应用程序,用于转发和控制从客户端发送到外部或者远程端点或服务器的“出站”请求。 在各种应用程序架构和网络配置中,“出站”定义可能大不相同,但正向代理通常被视为启用、保护、控制或拒绝从客户端、服务器或服务到外部 URL 和资源的请求的组件。 “外部”可以表示:
- 本地系统外部的所有 URL
- 本地网络区域外部的所有 URL
- WAN 外部的所有 URL,例如 Internet 地址
转发代理通常为服务,用于在特定地址和网络端口接收 HTTP 或 HTTPS 请求,然后转发到:
- 在某些情况下,解密请求,检查内容,然后重新加密对目标的后续请求
- 检查请求,有时会根据目标或请求的服务器主机名、URL 内容、标头或其他请求属性拒绝或允许请求
- 如果允许,将请求转发到最初请求的 URL,以返回响应
- 根据需要检查来自移除服务器的响应,然后原封不动地返回该响应,编辑响应或根据响应内容取消请求
转发代理可以通过各种技术模式实现,并且可能对用户可见或透明,具体取决于网络设计和客户端、浏览器或作系统配置。
适用于 ArcGIS 的转发代理注意事项
许多 ArcGIS 软件组件会向其他组件或 Internet 源发出请求,因此必须在必要时正确实施转发代理。 如果配置正确,ArcGIS 可以与大多数转发代理方案兼容,尽管可能需要进行一些配置,但通常可以通过对代理本身或 ArcGIS 软件中的代理配置进行更具体的配置来解决工作流特定问题。 如果身份验证时只需要基本的用户和密码,则支持经过身份验证的转发代理。
- 对于 ArcGIS Pro,将使用系统定义的转发代理(在 Windows 操作系统的 Internet 选项中配置)。
- ArcGIS Earth 支持在管理设置文件中配置代理。
- 对于 ArcGIS 移动应用程序,将使用系统定义的代理(在 iOS 或 Android 操作系统设置中配置)。
- 对于 ArcGIS Enterprise 组件,可能需要单独配置每个组件才能使用转发代理,如 ArcGIS Server 文档和 Portal for ArcGIS 文档中所述
相关资源:
转发代理可能会带来配置挑战,这取决于软件或系统的特定网络设计和代理设置,但可以参考以下常规指导说明:
- 在配置转发代理时,一定要与 IT 团队密切合作,了解带来的影响。 如果某些 URL 被阻止或无法访问,或者这些 URL 不需要转发代理,则这可能会影响您的代理配置或 non_proxy_hosts 设置。
- 转发代理通常不用于请求系统“本地网络”上的资源,例如,位于 DNS 的同一域或子域以及 WAN 的同一区域中的其他服务器和服务。
- 许多转发代理会根据主机名或目标 IP 地址过滤出站请求。 对于从 ArcGIS 软件到 ArcGIS Online 的请求(例如,在打印过程中针对底图的请求),转发代理必须允许访问这些 URL 或路径。 有关此主题的其他建议,请参阅 ArcGIS 信任中心上的文档 ArcGIS Online 的域要求。
- 当涉及 Python 进程时,可能需要考虑其他事项,才能确保 Python 代码通过转发代理正确发出请求。 这包括 Python Notebooks、ArcGIS Notebook Server 和其他 Python 代码部署。
- 如果转发代理解密流量并重新进行加密,一定要确保发出请求的软件组件信任代理使用的 TLS 证书的根证书。