10.Azure应用程序网关(上)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了10.Azure应用程序网关(上)相关的知识,希望对你有一定的参考价值。

应用程序网关这个功能主要又分2个子功能,一个叫“标准应用程序网关”;一个叫“WEB应用程序防火墙(WAF)”。“WEB应用程序防火墙(WAF)”是基于“标准应用程序网关”的升级版。

Azure 应用程序网关是以服务形式提供应用程序传递控制的专用虚拟设备。提供七层的负载均衡功能。还提供其他第 7 层路由功能,包括传入流量的轮循机制分配、基于 Cookie 的会话相关性、基于 URL 路径的路由,以及在单个应用程序网关后面托管多个网站的能力。

Web 应用程序防火墙 (WAF) 也作为应用程序网关的一部分提供。为 Web 应用程序提供保护,帮助抵御常见 Web 漏洞和攻击。可以将应用程序网关配置为面向 Internet 的网关、仅内部网关或这两者的组合。

应用程序网关(包含2个子功能)主要功能如下:

  • Web 应用程序防火墙 - Azure 应用程序网关中的 Web 应用程序防火墙 (WAF) 保护 Web 应用程序免受基于 Web 的常见攻击,例如 SQL 注入、跨站点脚本攻击、会话劫持。
  • HTTP 负载均衡 - 应用程序网关提供轮循机制负载均衡。 负载均衡在第 7 层完成,仅用于 HTTP(S) 流量。
  • 基于 Cookie 的会话相关性 - 想要在同一后端保留用户会话时,此基于 Cookie 的会话相关性功能十分有用。 借助受网关管理的 Cookie,应用程序网关能够将来自用户会话的后续流量转到同一后端进行处理。 在会话状态是为用户会话而本地保存在后端服务器的情况下,此功能十分重要。
  • 安全套接字层 (SSL) 卸载 - 此功能让 Web 服务器免于执行解密 HTTPS 流量的高成本任务。 通过在应用程序网关终止 SSL 连接,并将请求转发到未加密的服务器,Web 服务器不用承担解密的负担。 应用程序网关会重新加密响应,再将它发回客户端。 在后端与 Azure 中的应用程序网关位于同一安全虚拟网络中的情况下,此功能十分有用。
  • 端到端 SSL - 应用程序网关支持对流量进行端到端加密。 应用程序网关通过在应用程序网关上终止 SSL 连接来完成此任务。 网关随后将路由规则应用于流量、重新加密数据包,并根据定义的路由规则将数据包转发到适当的后端。 来自 Web 服务器的任何响应都会经历相同的过程返回最终用户。
  • 基于 URL 的内容路由 - 此功能能够使用不同的后端服务器来处理不同的流量。 可以将 Web 服务器上某个文件夹的流量或 CDN 的流量路由到其他后端。 对于不处理特定内容的后端,此功能可以减少其上的不必要负载。
  • 多站点路由 - 应用程序网关允许在单个应用程序网关上合并最多 20 个网站。
  • WebSocket 支持 - 应用程序网关的另一个重要功能是对 WebSocket 的本机支持。
  • 运行状况监视 - 应用程序网关提供默认的后端资源运行状况监视,以及用于监视更多特定方案的自定义探测。
  • SSL 策略和密码 - 此功能可以限制受支持的 SSL 协议版本和密码套件,以及其处理顺序。
  • 请求重定向 - 使用此功能可将 HTTP 请求重定向到 HTTPS 侦听器。
  • 多租户后端支持 - 应用程序网关支持将多租户后端服务(例如 Azure Web 应用和 API 网关)配置为后端池成员。
  • 高级诊断 - 应用程序网关提供完整的诊断和访问日志。 防火墙日志可用于已启用 WAF 的应用程序网关资源。

我先介绍标准应用程序网关,架构如下:

技术分享图片

首先需要配置下我之前创建的虚拟网络,在之前的虚拟网络中创建一个空白的子网

技术分享图片

技术分享图片

创建完成

技术分享图片

接下来可以开始创建一个应用程序网关

技术分享图片

技术分享图片

创建名称以及层为标准,因为我是演示环境,因此我的SKU选择小,实例计数也选择2个,资源组选择现有资源组。

技术分享图片

选择我们之前创建的虚拟网络和新建的空白子网,设定前端IP

技术分享图片

选择侦听配置,因为之前我部署的是TCP 80端口的网站,因此我就选择HTTP以及80端口,点击确定。

技术分享图片

摘要内容检查,确定,部署完成应用程序网关的时间大约是19分钟。

技术分享图片

在Azure中一般情况“负载均衡器”和“应用程序网关”是二选一来提供负载均衡的。

创建好以后我进行应用程序网关进行配置,我先配置后端池

技术分享图片

添加后端2台WEB虚拟机

技术分享图片

应用程序网关的对外Azure别名地址是不能自己定义的,只能是使用生成好的固定带Guid的一串字符的别名进行使用,点击“复制”

技术分享图片

粘贴到记事本里,括号里的这段就是对外的Azure别名DNS地址了。

技术分享图片

试下通过这个别名DNS地址访问看看:

技术分享图片

试下通过标准应用程序网关的公网IP地址访问看看:

技术分享图片

当通过应用程序网关来访问的话就可以看到访问的状态

技术分享图片

后端的状态也可以看到(如果应用程序网关子网上存在网络安全组 (NSG) ,请打开应用程序网关子网上的端口范围 65503-65534,以便允许入站流量。这些端口是确保后端运行状况 API 正常工作所必需的。)

技术分享图片

还可以按照之前NLB的方法自定义运行状态探测的检测方法

技术分享图片

名称和协议就自己定义和选择

主机名:用于探测的主机名。仅在应用程序网关上配置了多站点的情况下适用,否则使用“127.0.0.1”。 此值与 VM 主机名不同。

路径:自定义探测的完整 URL 的其余部分。有效路径以“/”开头。对于 http://contoso.com 的默认路径,只需使用“/”

间隔:多久探测一次

超时:超时之前探测的等待时间。超时间隔必须足够长,以便进行 http 调用,确保后端运行状况页可用。

不正常阈值:系统认为不正常的失败尝试次数。阈值为 0 意味着,如果运行状况检查失败,则会立即将后端确定为不正常。

技术分享图片

我这里没有域名,所以只能这样配置

技术分享图片

以上是关于10.Azure应用程序网关(上)的主要内容,如果未能解决你的问题,请参考以下文章

Jhipster - 在 docker 主机上部署除网关本身、混合 Docker 和本地部署之外的所有内容时,无法使用网关应用程序

使用 loopback4 创建 API 网关

502 错误:使用 IronPDF 的 Azure 应用服务上的网关错误

活动商家上的条带网关不工作

应用内以外的 iOS 支付网关

iphone应用程序的支付网关查询