0Pricing
Cloud & IT Cert Prep · 课时

使用 CDN 规则优化性能

使用规则引擎将 HTTP 重定向到 HTTPS、添加安全标头,并应用地理筛选以限制特定国家/地区访问您的内容。

使用 CDN 规则优化性能 是 CoddyKit 上的免费 Cloud & IT Cert Prep 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cloud & IT Cert Prep 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cloud & IT Cert Prep 课程共包含 4 节课。

规则引擎为何重要

Azure Front Door 的规则引擎(在 Standard/Premium 中称为规则集)允许您在边缘 PoP 处拦截并修改 HTTP 请求和响应,然后再将其缓存或转发到源站。如果没有规则引擎,您就需要在源应用程序代码中处理 HTTP 到 HTTPS 重定向、安全响应标头和地理位置阻止等任务,这会增加延迟,并使安全问题与业务逻辑产生耦合。在边缘执行规则的速度更快,还能减轻源站负载。

HTTP 到 HTTPS 重定向

规则引擎最常见的用途之一是强制使用 HTTPS。当客户端通过 HTTP 请求您的网站时,Front Door 边缘位置的重定向规则会立即返回指向 HTTPS URL 的301 Moved Permanently(或 302 Found)响应,而请求根本不会到达源站。这比在源站执行重定向更快,并能确保所有流量在传输过程中都经过加密。请将其配置为重定向操作,应用于 RequestScheme 条件等于 HTTP 的请求。

// Rules engine rule — redirect HTTP to HTTPS
// Match condition: RequestScheme Equals HTTP
// Action: URL Redirect
//   Redirect type: Moved (301)
//   Destination protocol: HTTPS
//   Destination host: {http.request.host}
//   Destination path: {http.request.uri.path}
//   Query string: {http.request.uri.querystring}

添加安全响应标头

现代浏览器支持可防止常见攻击的 HTTP 安全标头。您可以使用规则引擎的追加响应标头操作,将这些标头添加到所有响应中,而无需修改源站服务器。重要标头包括:Strict-Transport-Security(在一段时间内强制使用 HTTPS)、X-Content-Type-Options: nosniff(防止 MIME 嗅探)、X-Frame-Options: DENY(防止点击劫持)以及 Content-Security-Policy(限制内容来源)。在边缘添加这些标头,可以确保它们在所有源站上保持一致。

// Rules engine — add security headers to all responses
// Action 1: Append response header
//   Header name: Strict-Transport-Security
//   Value: max-age=31536000; includeSubDomains
// Action 2: Append response header
//   Header name: X-Content-Type-Options
//   Value: nosniff
// Action 3: Append response header
//   Header name: X-Frame-Options
//   Value: DENY

按规则替代缓存设置

规则引擎允许您针对特定 URL 模式替代默认缓存 TTL。例如,您可能希望将 /static/images/* 缓存 30 天,而只将 /api/* 响应缓存 60 秒。请对 RequestUri 使用匹配条件,并使用Route 配置替代操作设置自定义缓存时长。这样,您无需为每种内容类型创建多个独立路由,也能精细控制缓存行为。

// Rules engine — cache API responses for 60 seconds
// Match condition: RequestUri BeginsWith /api/
// Action: Route configuration override
//   Cache: Enabled
//   Caching duration: 0 days, 0 hours, 1 minute
//   Query string caching: Include All

// Rules engine — cache static images for 30 days
// Match condition: RequestUri BeginsWith /static/images/
// Action: Route configuration override
//   Cache: Enabled
//   Caching duration: 30 days

在边缘重写 URL

URL 重写操作会在请求转发到源站之前修改请求 URL,但不会改变客户端看到的 URL。这对于将某种 URL 结构的请求发送到不同的后端路径非常有用。例如,可以将 /products/item/{id} 重写为 /catalog/v2/products/{id},从而适应后端 API 的变更,而无需更新客户端链接。URL 重写是规则引擎中的一种操作,它通过字符串替换或捕获组来修改 URL path。

地理位置筛选规则

规则引擎级别的地理位置筛选允许您根据客户端 IP 推导出的地理位置,重定向或阻止来自特定国家/地区的用户。与 CDN 地理位置筛选(返回 403)不同,规则引擎地理位置筛选提供了更大的灵活性:您可以将被阻止国家/地区的用户重定向到说明区域可用性的落地页,也可以将某些国家/地区的用户路由到特定区域的源站组(例如,为遵守 GDPR,将 EU 用户路由到 EU 源站)。RemoteAddress 地理匹配使用 MaxMind 的 IP 到国家/地区数据库。

请求标头操作

规则引擎可以在将请求转发到源站之前添加、覆盖或删除请求标头。一种常见用途是添加 X-Forwarded-For 或 X-Front-Door-Id 等自定义标头,以便源站了解请求来自 Front Door 并对其进行验证。您还可以删除原始 Host 标头,并将其替换为源站主机名;当源站验证 Host 标头时,这一点非常重要。这样,您可以完全控制源站服务器能够看到的内容。

根据请求标头进行路由

规则引擎条件可以匹配请求标头值,从而实现复杂的路由逻辑。例如,可以将包含标头 X-API-Version: 2 的请求路由到运行 v2 API 的其他源站组,而不含该标头的请求则路由到 v1 源站。这样,您无需为每个 API 版本使用单独的主机名,就能在边缘实现蓝绿 API 版本管理。基于标头的路由也可用于 A/B 测试,例如根据自定义用户分群 Cookie 进行路由。

在边缘压缩响应

Front Door 中的响应压缩会使用 gzip 或 Brotli 压缩基于文本的响应(HTML、CSS、JavaScript、JSON),然后从 PoPs 向用户提供这些响应。对于大型 JS 包,压缩效果最为明显,传输大小最多可减少 70%。请在路由设置中启用压缩,并指定要压缩的 MIME 类型。压缩内容会以压缩形式缓存在 PoP 中,因此每个资源只有第一次请求会触发压缩,后续请求可立即提供缓存中的压缩文件。

源站防护层

Origin Shield 是 Front Door 在 PoP 边缘节点与源站之间设置的可选附加缓存层。启用后,100 多个边缘 PoP 不再分别向源站请求未缓存的内容,而是将缓存未命中请求统一转发到一个区域性源站防护 PoP,再由该 PoP 转发到源站。这样可以显著减少到达源站的请求数量(称为源站卸载比率),同时仍能通过边缘 PoP 向全球用户提供内容。

使用 Front Door Explorer 测试规则

在将规则引擎变更部署到生产环境之前,请使用门户中的诊断和测试工具对其进行验证。启用检测模式的诊断设置页面中的 WAF 日志会显示哪些规则匹配成功。对于规则引擎,您还可以在部署到暂存环境后,使用浏览器的开发者工具检查实际的请求/响应标头;或者使用 curl -v 发送特定请求,验证响应标头和重定向行为是否符合预期,然后再切换到生产环境。

# Test HTTP-to-HTTPS redirect at the CDN/Front Door edge
curl -v -L http://myapp.azurefd.net/ 2>&1 | grep -E '< (HTTP|Location)'
# Expected output:
# < HTTP/1.1 301 Moved Permanently
# < Location: https://myapp.azurefd.net/

快速检查

测试您对本课程中 Microsoft Azure 基础知识(AZ-900)概念的理解。

课程回顾

在本课程中,您学习了以下内容:Front Door 规则引擎可在边缘处理 HTTP 到 HTTPS 重定向、安全响应标头和缓存 TTL 替代,而无需修改源站;URL 重写会静默修改转发到源站的请求路径,而 URL 重定向会改变客户端看到的 URL;Origin Shield通过将缓存未命中请求集中到区域性防护节点来减轻源站负载。接下来,我们将探索 Azure AI 服务,为您的应用程序添加智能功能。

常见问题解答

「使用 CDN 规则优化性能」课时是免费的吗?

是的 — 「使用 CDN 规则优化性能」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cloud & IT Cert Prep 课程的其余内容,请升级到 CoddyKit PRO。 Cloud & IT Cert Prep 课程共包含 4 节课。

「使用 CDN 规则优化性能」这节课中我会学到什么?

使用规则引擎将 HTTP 重定向到 HTTPS、添加安全标头,并应用地理筛选以限制特定国家/地区访问您的内容。 你通过在浏览器中直接运行的动手代码来练习 Cloud & IT Cert Prep,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Cloud & IT Cert Prep 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Cloud & IT Cert Prep 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。

「使用 CDN 规则优化性能」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Cloud & IT Cert Prep 课中编写并运行代码吗?

能。每节 Cloud & IT Cert Prep 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. Azure CDN 配置文件和终结点
  2. Azure Front Door:全球负载均衡
  3. Front Door 上的 Web 应用程序防火墙
  4. 使用 CDN 规则优化性能
← 返回 Cloud & IT Cert Prep