许多企业使用代理服务器来路由和保护网络之间的流量。然而,对于这与反向代理有何不同,人们常常会感到困惑。在这篇文章中,我们将剖析这两个概念并解释管理员如何使用反向代理来轻松进行访问管理控制。
什么是代理服务器?
代理服务器,有时称为转发代理,是在客户端和另一个系统之间路由流量的服务器,通常在网络外部。通过这样做,它可以根据预设策略调节流量,转换和屏蔽客户端 IP 地址,强制执行安全协议,并阻止未知流量。
具有共享网络的系统,例如商业组织或数据中心,通常使用代理服务器。代理服务器公开一个与客户端交互的接口,而不必在客户端本身内强制执行所有策略和路由管理逻辑。
什么是反向代理服务器?
反向代理是代理服务器的一种。与用于保护客户端的传统代理服务器不同,反向代理用于保护服务器。反向代理是一个服务器,它接受来自客户端的请求,将请求转发到许多其他服务器中的另一个,并将实际处理请求的服务器的结果返回给客户端,就好像代理服务器自己处理了请求一样. 客户端只与反向代理服务器直接通信,它不知道其他服务器实际处理了它的请求。
传统的转发代理服务器允许多个客户端将流量路由到外部网络。例如,企业可能有一个代理来路由和过滤员工流量到公共互联网。另一方面,反向代理代表多个服务器路由流量。
反向代理有效地充当客户端、用户和应用程序服务器之间的网关。它处理所有访问策略管理和流量路由,并保护实际处理请求的服务器的身份。
反向代理配置
通过反向代理路由客户端流量,管理员可以简化安全管理。他们可以将后端服务器配置为仅接受直接来自代理的流量,然后在代理本身上配置精细的访问控制配置。
例如,管理员可以将反向代理的防火墙配置为将特定 IP 地址列入白名单或黑名单。代理后面的所有现有服务器都将受到相应的保护,每当管理员将新的后端服务器添加到配置为仅接受来自代理服务器的请求的网络时,新的后端服务器都会根据代理配置受到保护。
使用反向代理还可以让管理员在不中断流量的情况下轻松地交换后端服务器。因为客户端直接与代理交互,他们只需要知道它的主机名,不需要担心后端网络拓扑的变化。除了简化客户端配置外,管理员还可以配置反向代理来负载平衡流量,以便将请求更均匀地分配到后端服务器并提高整体性能。
用例:入职和离职
将新用户加入网络时,管理员必须配置访问控制和防火墙,以确保用户可以访问适当的资源。传统上,管理员必须配置用户需要访问的每台服务器。在拥有许多服务器的大型组织中,这可能是一个耗时且容易出错的过程。
但是,使用反向代理,管理员可以直接在代理服务器上配置访问权限,并让用户通过它路由所有流量。因此,后端服务器只需要直接信任代理并与之通信。这极大地简化了配置过程,并有助于确保通过单一来源正确授予和撤销访问权限。
为访问管理设置反向代理
虽然反向代理可以大大简化管理网络访问的过程,但正确设置和配置它可能会变得复杂。它需要为主机提供适当的规范,配置操作系统和防火墙,决定使用哪个代理软件(例如NGINX或HAProxy),在代理配置文件中枚举和配置下游服务器,设置审计日志,并配置所有下游服务器中的防火墙。
管理员将需要优化代理软件以适应性能和可用性要求。例如,当下游服务器出现故障时,管理员应配置代理服务器以快速重新路由流量以避免停机。
在规模上,开箱即用的配置很少足够,因此测试变得很重要。每当配置发生变化时,您都需要一种方法来针对具有代表性的测试环境运行足够的负载,并密切监控对性能和可用性的影响,以验证配置是否能够满足生产环境的需求。
手动构建反向代理与购买软件
鉴于实施、测试和优化反向代理所涉及的所有步骤,您可以选择购买无需所有定制工作即可提供此功能的软件。访问管理软件可以提供所有这些功能,同时还可以管理正在进行的维护和用户管理。
除了提供标准的反向代理功能外,访问管理软件还具有许多独特的优势:
1) 用户访问的灵活性。通过抽象出防火墙和访问控制的复杂性,访问管理软件可以提供更高级别的概念,例如用户组。此功能使管理员可以轻松地从各种预定义组中分配和删除用户,并允许软件自动实施访问策略。
2) 旨在提高可靠性。在分布式系统中,服务器可能会发生故障并且可能会发生网络中断。访问管理软件可以轻松检测故障服务器并将流量重新路由到工作服务器,以避免用户出现任何明显的停机时间。
3)负载均衡能力。单个服务器在遇到大量流量时可能会遇到困难,这会降低性能并增加请求延迟。访问管理软件可以帮助管理流量并平衡所有服务器的负载,确保均匀分布。