在SaaS业务中使用代理服务器的10个理由

代理服务器在云基础架构中发挥着重要作用。它们不是大多数人想到的那种代理。它们不会将客户端隐藏在服务器之外,而是代替Internet上的服务器。这就是所谓的“反向代理”。

SaaS设置通常为其用户提供多个应用程序。通常,拥有专用服务器是有意义的,每个服务器处理一个或几个应用程序或以其他方式划分工作。每个服务器类别都可以拥有自己的域和IP地址,但这对用户来说相当混乱。对于许多情况,代理是更优雅的解决方案。

反向代理的角色

您可以将反向代理视为助理,他会接听电话并与总部外的访客进行会谈。其中一些是常规的,助理可以处理它们而不浪费任何其他人的时间。他们中的一些人需要预约或被刷掉。总公司的老板可以更有效地工作。反向代理对应用程序服务器执行相同操作。

一种流行的方法是为整个服务提供反向代理服务器。它就在防火墙后面。所有互联网流量都通过它,并确定每个请求的发送位置。它构成云分发网络(CDN)体系结构的一部分,或者可以在独立的数据中心中使用。

反向代理与转发代理,负载均衡器和边缘服务器有一些相似之处,但它们并不相同。这些功能中的多个功能可以组合在同一台机器中。

转发代理是客户端用于间接连接到Internet服务的内容。它包括本地缓存代理以及匿名服务。反向代理是目的地。客户端连接到它而不是直接连接到运行应用程序的计算机。它们连接到代理,但它们获得的功能来自应用程序服务器。

负载均衡器比代理服务器简单。它在两个或多个同类应用程序服务器之间分配请求,以便每个服务器获得大致相等的工作量。反向代理服务器可以包括其功能之间的负载平衡,但它也会将请求分配给运行不同应用程序的服务器。

边缘服务器在地理位置上比应用程序服务器更靠近客户端。它会缓存数据以加快周转速度,或者将请求传递给应用程序服务器(如果必须)。它可能包括也可能不包括代理功能。

代理的好处

智能分配请求

将请求分配给服务器是代理的基本功能。请求的URL指示其用途的应用程序。代理解析它并确定哪个应用程序服务器能够为其提供服务。它可以管理粘性会话,其中来自登录用户的所有请求都转到负载平衡组中的同一服务器。

应用程序服务器可能仅在细节方面有所不同,例如它们处理的语 可能有一台服务器用于应用程序的英语语言请求,另一台服务器用于所有其他语言。代理可以根据用户首选项或URL参数将请求发送到适当的服务器。

服务器可以在将URL发送到应用程序服务器之前对其进行标准化。这包括应用重写规则,删除不必要的参数或添加内部使用的参数。

添加新应用程序和新硬件以支持它是一件简单的事情。代理的规则只需要更新,以便它们向它发送适当的请求。

IPv4地址稀缺。网络地址转换(NAT)解决了这个问题,但服务器位于网络外围,容易受到攻击。代理只需要一个公共IP地址,而应用程序服务器根本不需要一个。

应用服务器安全性

内部 - 视图 - 计算机硬件与 - 发光-挂锁图标和蓝色-圆计算机安全概念。

可以通过Internet直接访问的服务器不断受到攻击。敌对数据包会探测它是否存在开放端口,应用程序错误和其他弱点。成功的攻击可以让犯罪分子窃取机密数据或修改信息。影响客户的数据泄露非常昂贵。

反向代理使应用程序服务器远离前线。除了缓存中的任何内容之外,它不包含大量用户数据。如果代理遭到破坏,攻击者仍然必须通过应用程序服务器。管理员有更多时间来捕获并解决问题。保持网络周边小,使边缘保护系统更好地工作。内部网络结构对潜在的入侵者是隐藏的。

代理执行特定于应用程序的请求筛选,超出了通用防火墙的功能。它会阻止与恶意URL或cookie模式匹配的请求。应用程序服务器永远不会看到它 它可以限制来自给定用户或IP地址的请求,从而防止拒绝服务攻击。 对于提供此功能的代理,通常会出现术语  “应用程序防火墙”

具有与应用程序分离的过滤层提高了灵活性。管理员可以在不触及后端服务器的情况下更改规则。除了阻止恶意请求之外,代理还可以检测可疑行为并发出警报以进行进一步调查。

代理检查传出和传入数据。它可以检测从应用程序服务器发送的异常数据,阻止它们并向管理员发出警报。这使得它可以捕获,例如,恶意软件到达命令和控制服务器。

使用SSL / TLS的简单性

任何严肃的Web服务都需要安全连接。TLS(通常仍称为SSL的旧名称)需要加密签名和验证。在处理许多请求时,这会占用大量的计算时间。代理可以处理所有TLS工作,从应用程序服务器中删除负载。只要他们的连接在物理上是安全的,不受外部窥探和篡改,他们可以使用未加密的HTTP。只需要一个TLS证书,而不是每个应用程序一个。

仅当代理和应用服务器是LAN或安全MPLS网络的一部分时,此优势才适用。如果网络是软件定义的WAN,则后端连接需要HTTPS连接。任何通过公共互联网的东西都需要是安全的。证书可以是自签名的,因为外部机器不应该访问它们。每个服务器都可以拥有自己的证书,并且可以根据需要随时更换它们。

使TLS软件保持最新是网络安全的重要组成部分。使用代理来减少面向Internet的设备的数量使得任务更容易。

用户管理

对用户进行身份验证并检查其授权应该是一项统一的任务。应用程序服务器不必单独检查登录。他们应该只获得有关用户身份和权限的可信信息。

代理服务器检查请求所属的会话。如果它未登录且请求需要经过身份验证的用户,则会将请求发送到身份管理系统以进行登录。如果用户已登录,则代理服务器可能能够检查用户是否可以执行请求行动。如果确定不允许,则会发回错误消息。代理检查会话超时,将风险限制在没有退出的情况下走开的人。

无效的登录尝试会浪费应用程序服务器的时间,尤其是在密码猜测机器人重复尝试的情况下。代理服务器可以对它们进行记录并限制来自任何给定源的尝试次数。在尝试失败太多之后,它应该将源锁定一段时间。应用程序服务器不需要查看它们。

其他Internet管理任务

响应压缩可降低带宽要求并加快响应时间。这是减少发送字节数的标准做法。它不像加密那么苛刻,但确实需要一些处理时间。代理服务器处理所有压缩和解压缩,从而减轻应用程序服务器的一项任务。

某些请求需要重定向到不同位置的服务器。代理服务器可以发送重定向响应,而无需触及应用程序服务器。它可以处理从HTTP到HTTPS的升级重定向,并且可以在适当的情况下发送诸如“未找到”和“不可用”的响应。

当服务器日志来自太多计算机时,它们最容易处理。代理服务器可以记录应用程序服务器的所有请求。这使其成为分析的便利基础。代理可以自己运行分析,但通常情况下,它会将数据提供给单独的云服务,以转换为统计信息和图形。

使用代理也简化了网络监控。监控软件可以查看通过代理服务器的流量以及进入的请求类型。如果异常流量模式开始显示,则在不需要组合来自多个服务器的数据时更容易捕获它们。这样可以更快地检测拒绝服务攻击。

负载均衡

插图服务器的-连接到集群 - 的多彩-个体图标

负载均衡器在多个服务器之间分配作业,以便共享处理负担。它可以是一个不做任何其他操作的专用设备,也可以是代理服务器的功能之一。

某些应用程序体系结构要求会话中的所有请求都转到同一服务器,因此它可以在本地保存会话数据。代理服务器可以通过保持会话标识符并适当地分派请求来实现此目的。它也可以进行智能负载平衡。某些类型的请求比其他请求需要更多资源,代理可以将此考虑在内。

服务器结构扩展

将应用程序服务器保持在网络外围使其更容易扩展。无需为新计算机添加公共IP地址或重新配置NAT。代理只需要知道新服务器,并有关于发送给它们的请求的规则。

如果网络添加新的SaaS类别,则对代理的更改仍然相当简单。它需要有新服务的规则以及如何分派其请求。如果它作为应用程序防火墙,它将需要更新,以便它可以保护服务。

大型网络可能需要多个代理才能跟上流量。在这种情况下,负载均衡器可以管理多个代理服务器。

高速缓存

并非每个请求都必须转到应用程序服务器。不触发操作的请求可能只需要检索不经常更改的数据。服务器响应中的标头指示它是否可以缓存以及缓存多长时间。每个人都知道浏览器如何使用这些信息; 缓存服务器基本上做同样的事情。

当内容更改早于到期时间时,服务器可以向高速缓存代理发送清除请求。这允许更长的到期时间,因为它可以覆盖它们。这是浏览器无法使用的功能。

静态内容

某些内容根本不需要缓存。它可以直接在代理服务器上使用,也可以由除了提供静态数据之外什么都不做的服务器处理。图像,视频,CSS和JavaScript通常构成网页内容的主要部分。HTML本身很少超过几千字节。没有充分的理由应用服务器必须承担交付不变的部件的负担。

更好的性能

这些优势的总和和目标是SaaS系统,可以在不大幅增加硬件成本的情况下提供更好的性能。代理就像是熟练的助手,负责处理老板的日常工作。老板不会经常打断,可以专注于重要的工作。只有在助理确认他们的业务合法且需要个人关注后,才能进入内部办公室。

代理服务器的工作在质量上与后端服务器不同。它处理大量请求,但每个请求只执行简单的操作。其大部分工作包括处理或驳回请求。它的软件旨在并行处理许多请求,每个请求都不需要大量资源。后端服务器处理的事务较少,但它们对计算或查找信息的要求通常较高。

同时,将应用程序服务器放在代理服务器之后会使它们更安全。通过互联网进行的攻击必须通过一个额外的层才能击中它们。代理需要强大的边缘保护,但保护它们的数量较少,而且它们本身并不包含大量有价值的信息。

有关使用SaaS 代理的更多信息,但希望这一介绍有助于说服您的价值。