category
应用服务环境是Azure应用服务在客户Azure虚拟网络子网中的部署。它可以与外部或内部端点一起部署,用于应用访问。具有内部端点的App Service环境的部署称为内部负载均衡器(ILB)App Service环境(ASE)。
Web应用程序防火墙通过检查入站Web流量来阻止SQL注入、跨站点脚本、恶意软件上传和应用程序DDoS以及其他攻击,从而帮助保护您的Web应用程序。您可以从Azure Marketplace获取WAF设备,也可以使用Azure应用程序网关。
Azure应用程序网关是一个虚拟设备,提供第7层负载平衡、TLS/SSL卸载和web应用程序防火墙(WAF)保护。它可以监听公共IP地址,并将流量路由到您的应用程序端点。以下信息描述了如何将配置了WAF的应用程序网关与ILB应用程序服务环境中的应用程序集成。
应用网关与ILB应用服务环境的集成是在应用级别。当您使用ILB App Service环境配置应用程序网关时,您是在为ILB App Services环境中的特定应用程序进行配置。此技术允许在单个ILB App Service环境中托管安全的多租户应用程序。
高级集成图截图
在本演练中,您将:
- 创建Azure应用程序网关。
- 配置应用程序网关以指向ILB应用程序服务环境中的应用程序。
- 编辑指向应用程序网关的公共DNS主机名。
先决条件
要将应用网关与ILB应用服务环境集成,您需要:
- ILB应用服务环境。
- ILB应用服务环境的专用DNS区域。
- 在ILB应用服务环境中运行的应用程序。
- 稍后用于指向应用程序网关的公共DNS名称。
- 如果需要对应用程序网关使用TLS/SSL加密,则需要一个用于绑定到应用程序网关的有效公共证书。
ILB应用服务环境
有关如何创建ILB应用服务环境的详细信息,请参阅Azure门户中的创建ASE和使用ARM模板创建ASE。
- 创建ILB ASE后,默认域为<YourAseName>.appserviceenvironment.net。
ILB ASE概述截图
- 为入站访问配置了内部负载平衡器。您可以在ASE设置下的IP地址中检查入站地址。稍后,您可以创建映射到此IP地址的专用DNS区域。
从ILB ASE IP地址设置中获取入站地址的屏幕截图。
私有DNS区域
您需要一个私有DNS区域进行内部名称解析。使用下表所示的记录集使用ASE名称创建它(有关说明,请参阅快速入门-使用Azure门户创建Azure专用DNS区域)。
Name | Type | Value |
---|---|---|
* | A | ASE inbound address |
@ | A | ASE inbound address |
@ | SOA | ASE DNS name |
*.scm | A | ASE inbound address |
ILB ASE上的应用服务
您需要在ILB ASE中创建应用服务计划和应用程序。在门户中创建应用程序时,选择您的ILB ASE作为区域。
应用程序网关的公共DNS名称
要从互联网连接到应用程序网关,您需要一个可路由的域名。在这种情况下,我使用了可路由的域名asabuludemo.com,并计划使用此域名App.asabuludemo.com连接到应用服务。创建应用网关后,映射到此应用域名的IP地址需要设置为应用网关公共IP地址。将公共域映射到应用程序网关后,您不需要在App Service中配置自定义域。您可以使用App Service Domains购买自定义域名。
有效的公共证书
为了增强安全性,建议绑定TLS/SSL证书进行会话加密。要将TLS/SSL证书绑定到应用程序网关,需要具有以下信息的有效公共证书。使用App Service证书,您可以购买TLS/SSL证书并将其导出为.pfx格式。
Name | Value | Description |
---|---|---|
Common Name | <yourappname>.<yourdomainname> , for example: app.asabuludemo.com or *.<yourdomainname> , for example: *.asabuludemo.com |
A standard certificate or a wildcard certificate for the application gateway |
Subject Alternative Name | <yourappname>.scm.<yourdomainname> , for example: app.scm.asabuludemo.com or *.scm.<yourdomainname> , for example: *.scm.asabuludemo.com |
The SAN that allowing to connect to App Service kudu service. It's an optional setting, if you don't want to publish the App Service kudu service to the internet. |
证书文件应具有私钥并以.pfx格式保存,稍后将导入应用程序网关。
创建应用程序网关
有关基本应用程序网关创建,请参阅教程:使用Azure门户创建具有Web应用程序防火墙的应用程序网关。
在本教程中,我们将使用Azure门户创建具有ILB App Service环境的应用程序网关。
在Azure门户中,选择新建>网络>应用程序网关以创建应用程序网关。
- 基础设置
在Tier下拉列表中,您可以选择Standard V2或WAF V2在应用程序网关上启用WAF功能。
- 前端设置
选择前端IP地址类型为公共、私有或两者兼而有之。如果设置为Private或Both,则需要在应用程序网关子网范围内分配一个静态IP地址。在这种情况下,我们仅将公共端点设置为公共IP。
- 公共IP地址-您需要为应用程序网关公共访问关联一个公共IP地址。记录此IP地址,以后需要在DNS服务中添加记录。
从应用程序网关前端设置获取公共IP地址的屏幕截图。
- 后端设置
输入后端池名称,然后在目标类型中选择应用服务或IP地址或FQDN。在这种情况下,我们设置为应用服务,并从目标下拉列表中选择应用服务名称。
在后端设置中添加后端池名称的屏幕截图。
- 配置设置
在配置设置中,您需要通过选择添加路由规则图标来添加路由规则。
在配置设置中添加路由规则的屏幕截图。
- 您需要在路由规则中配置侦听器和后端目标。您可以添加HTTP侦听器进行概念验证部署,也可以添加HTTPS侦听器进行安全增强。
要使用HTTP协议连接到应用程序网关,您可以使用以下设置创建侦听器,
Parameter | Value | Description |
---|---|---|
Rule name | For example: http-routingrule |
Routing name |
Listener name | For example: http-listener |
Listener name |
Frontend IP | Public | For internet access, set to Public |
Protocol | HTTP | Don't use TLS/SSL encryption |
Port | 80 | Default HTTP Port |
Listener type | Multi site | Allow to listen multi-sites on the application gateway |
Host type | Multiple/Wildcard | Set to multiple or wildcard website name if listener type is set to multi-sites. |
Host name | For example: app.asabuludemo.com |
Set to a routable domain name for App Service |
应用网关路由规则的HTTP侦听器的屏幕截图。
- 要使用TLS/SSL加密连接到应用程序网关,您可以使用以下设置创建侦听器,
Parameter | Value | Description |
---|---|---|
Rule name | For example: https-routingrule |
Routing name |
Listener name | For example: https-listener |
Listener name |
Frontend IP | Public | For internet access, set to Public |
Protocol | HTTPS | Use TLS/SSL encryption |
Port | 443 | Default HTTPS Port |
Https Settings | Upload a certificate | Upload a certificate contains the CN and the private key with .pfx format. |
Listener type | Multi site | Allow to listen multi-sites on the application gateway |
Host type | Multiple/Wildcard | Set to multiple or wildcard website name if listener type is set to multi-sites. |
Host name | For example: app.asabuludemo.com |
Set to a routable domain name for App Service |
- 您必须在后端目标中配置后端池和HTTP设置。后端池已在前面的步骤中配置。选择添加新链接以添加HTTP设置。
- HTTP settings listed as below:
Parameter | Value | Description |
---|---|---|
HTTP setting name | For example: https-setting |
HTTP setting name |
Backend protocol | HTTPS | Use TLS/SSL encryption |
Backend port | 443 | Default HTTPS Port |
Use well known CA certificate | Yes | The default domain name of ILB ASE is .appserviceenvironment.net , the certificate of this domain is issued by a public trusted root authority. In the Trusted root certificate setting, you can set to use well known CA trusted root certificate. |
Override with new host name | Yes | The host name header will be overwrote on connecting to the app on ILB ASE |
Host name override | Pick host name from backend target | When setting backend pool to App Service, you can pick host from backend target |
Create custom probes | No | Use default health probe |
配置与ILB ASE的应用程序网关集成
要从应用程序网关访问ILB ASE,您需要检查虚拟网络是否链接到专用DNS区域。如果没有虚拟网络链接到应用程序网关的ExpressRoute,请按照以下步骤添加虚拟网络链接。
配置具有专用DNS区域的虚拟网络链接
要配置具有专用DNS区域的虚拟网络链接,请转到专用DNS区域配置平面。选择虚拟网络链接>添加
- Input the Link name and select the respective subscription and virtual network where the application gateway resides in.
- You can confirm the backend health status from Backend health in the application gateway plane.
添加公共DNS记录
从互联网访问应用程序网关时,您需要配置正确的DNS映射。
应用网关的公共IP地址可以在应用网关平面的前端IP配置中找到。
- Use Azure DNS service as example, you can add a record set to map the app domain name to the public IP address of the application gateway.
验证连接
在从互联网访问的机器上,您可以验证应用程序域名到应用程序网关公共IP地址的名称解析。
- On a machine access from internet, test the web access from a browser.
- 登录 发表评论
- 3 次浏览
最新内容
- 6 days 22 hours ago
- 6 days 22 hours ago
- 6 days 23 hours ago
- 6 days 23 hours ago
- 6 days 23 hours ago
- 1 week 5 days ago
- 1 week 6 days ago
- 2 weeks 2 days ago
- 2 weeks 2 days ago
- 2 weeks 2 days ago