使用 EdgeOne Pages 作为反向代理:全面指南

Ethan MercerEthan Mercer
5 分钟阅读
Spt 5, 2025

proxy.jpg

EdgeOne Pages 的高级功能之一是能够作为反向代理,允许您安全高效地将客户端请求进行转发。本文将指导您通过 edgeone.json 配置文件设置反向代理。

如何使用 EdgeOne Pages 重写规则实现反向代理

EdgeOne Pages 提供"edgeone.json"配置文件来自定义项目构建和部署行为(例如构建命令)以及管理路由策略(包括重定向、重写和 HTTP 响应头)。

重写规则允许您透明地将用户请求路由到不同的 URL,而不改变浏览器中可见的 URL。通过重写规则,您可以在请求到达后端服务器之前修改 URL 路径、查询参数和请求头。

基本重写示例

此示例将所有以 /assets/ 开头的请求重写到 /assets-new/ 目录,同时保留请求的原始路径部分。

{
  "rewrites": [
    {
      "source": "/assets/*",
      "destination": "/assets-new/:splat",
    }
  ]
}

针对特定文件类型的精细重写

我们可以进一步细化重写规则,例如针对 PNG 格式的图像文件。以下示例将确保所有以 .png 结尾的请求被重写到新路径,同时保留文件名。

{
  "rewrites": [
    {
      "source": "/assets/(.*).png",
      "destination": "/assets-new/$1.png",
    }
  ]
}

注意事项和限制

事项限制
规则最大数量30
srcdest 最大长度500字符
适用范围这些重写规则仅对静态资源访问有效。
SPA 限制重写规则支持SPA的前端路由重写。
路径要求src路径必须以/开头。

关于 EdgeOne 更多的代理设置,您可以查阅 EdgeOne 的使用文档

SPA应用程序重写建议

如果您需要在 SPA 中实现 URL 重写,建议采用以下解决方案:

  • 使用框架内置的路由系统进行重定向
  • 在路由配置中定义重写规则

结论

EdgeOne Pages 使您的应用程序设置反向代理变得简单。通过配置"edgeone.json"文件,您可以安全高效地将流量路由重置到您的后端服务。