本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
的工作原理Amazon WAF使用 Amazon CloudFront 功能
当您创建 Web ACL 时,您可以指定一个或多个 CloudFront 你想要的发行版Amazon WAF检查。Amazon WAF开始根据您在Web ACL中确定的标准检查和管理这些分发的Web请求。 CloudFront 提供了一些增强功能的Amazon WAF功能。本章介绍几种配置方法CloudFront 要做 CloudFront 和Amazon WAF更好地合作。
主题
使用Amazon WAF和 CloudFront 自定义错误页面
默认情况下,什么时候Amazon WAF根据您指定的条件阻止 Web 请求,它返回 HTTP 状态码403 (Forbidden)到 CloudFront,以及 CloudFront 向查看器返回该状态代码。然后,查看器显示简要且采用稀疏格式的默认消息,如下所示:
Forbidden: You don't have permission to access /myfilename.html on this server.
你可以在你的Amazon WAF通过定义自定义响应来实现 Web ACL 规则。有关使用自定义响应行为的更多信息,Amazon WAF规则,请参阅区块操作的自定义响应.
您使用自定义的响应Amazon WAF规则优先于您在中定义的任何响应规范 CloudFront 自定义错误页面。
如果你想通过以下方式显示自定义错误消息 CloudFront,可能使用与网站其余部分相同的格式,你可以配置 CloudFront 向查看者返回一个包含您的自定义错误消息的对象(例如 HTML 文件)。
CloudFront 无法区分你的源返回的 HTTP 状态码 403 和返回的 HTTP 状态码 403Amazon WAF当请求被阻止时。这意味着,您无法根据 HTTP 状态代码 403 的不同原因返回不同的自定义错误页面。
有关以下内容的更多信息 CloudFront 自定义错误页面,请参阅生成自定义错误响应在里面亚马逊 CloudFront 开发人员指南.
对于在您自己的 HTTP 服务器上运行的应用程序,将 Amazon WAF 与 CloudFront 结合使用
当您使用以下应用程序时Amazon WAF和 CloudFront,您可以保护在任何 HTTP Web 服务器上运行的应用程序,无论是在亚马逊弹性计算云 (Amazon EC2) 中运行的网络服务器,还是您私下管理的网络服务器。还可以配置 CloudFront 要求在之间使用 HTTPS CloudFront和你自己的网络服务器,以及观众和观众之间 CloudFront.
要求在之间使用 HTTP CloudFront 还有您自己的 Web 服务器
在两者之间要求 HTTPS CloudFront 还有你自己的网络服务器,你可以使用 CloudFront 自定义 Origin 功能并配置源协议策略还有源域名特定来源的设置。在你的 CloudFront 配置,您可以指定服务器的 DNS 名称以及所需的端口和协议 CloudFront 在从您的源获取对象时使用。您还应确保自定义源服务器上的 SSL/TLS 证书与您已配置的源域名匹配。当你在外面使用自己的 HTTP 网络服务器时Amazon,您必须使用由受信任的第三方证书颁发机构 (CA)(例如,Comodo)(例如,Comodo)(例如,Comodo)签署的证书 DigiCert,或赛门铁克。有关要求在之间使用 HTTPS 进行通信的更多信息 CloudFront还有你自己的 Web 服务器,参见主题要求在之间使用 HTTPS 进行通信 CloudFront 还有你的自定义来源在里面亚马逊 CloudFront 开发人员指南.
要求在查看器和之间使用 HTTPS CloudFront
要求在查看器和之间使用 HTTPS CloudFront,您可以更改查看器协议策略用于您中的一个或多个缓存行为 CloudFront分配。有关在查看器和之间使用 HTTPS 的更多信息 CloudFront,请参阅主题要求在查看器和 之间使用 HTTPS 进行通信 CloudFront在里面亚马逊 CloudFront 开发人员指南. 您也可以携带自己的 SSL 证书,以便观众可以连接到您的 CloudFront 例如,使用您自己的域名通过 HTTPS 分发https://www.mysite.com. 有关更多信息,请参阅主题配置备用域名和 HTTPS在里面亚马逊 CloudFront 开发人员指南.
选择 CloudFront 响应的 HTTP 方法
在您创建Amazon CloudFront 网络分发,您可以选择所需的 HTTP 方法 CloudFront 进行处理并转发到源。可从以下选项中进行选择:
GET,HEAD— 您可以使用 CloudFront 仅用于获取您源中的对象或获取对象标头。GET,HEAD,OPTIONS— 您可以使用 CloudFront 仅用于从源获取对象、获取对象标头或检索源服务器支持的选项列表。GET,HEAD,OPTIONS,PUT,POST,PATCH,DELETE— 您可以使用 CloudFront 获取、更新和删除对象以及获取对象标头。此外,你可以执行其他POST操作,例如从 Web 表单提交数据。
您还可以使用 Amazon WAF 字节匹配规则语句来允许或阻止基于 HTTP 方法的请求,如 字符串匹配规则语句 中所述。如果你想使用多种方法 CloudFront 支持,例如GET和HEAD,则不需要配置Amazon WAF以阻止使用其他方法的请求。如果你想允许多种方法的组合 CloudFront 不支持,例如GET,HEAD,以及POST,你可以配置 CloudFront 对所有方法做出响应,然后使用Amazon WAF以阻止使用其他方法的请求。
有关选择方法的更多信息 CloudFront 回应,看看允许的 HTTP 方法在主题中您创建或更新 Web 分配时指定的值在里面亚马逊 CloudFront 开发人员指南.