请求代理

通过你自己的服务器代理请求 EAS 更新服务器。


EAS 更新支持请求代理,这允许你通过自己的服务器将请求代理到 EAS 更新服务器。这在多种情况下都很有用,例如添加自定义头、记录请求,或实现额外的安全性或请求 IP 匿名化措施。

🌐 EAS Update supports request proxying, which allows you to proxy requests to the EAS Update server through your own server. This can be useful for various reasons, such as adding custom headers, logging requests, or implementing additional security or request IP anonymization measures.

启用请求代理

🌐 Enabling request proxying

  1. 创建两个用于处理请求的代理服务器:

    • 一个用于更新资源请求(JavaScript 包、图片等)。
      • 这必须将请求转发到 assets.eascdn.net,即 EAS 更新资源服务器。
      • 这必须传递所有 URL 内容(路径、查询参数等)。
      • 这必须转发所有请求头,这些请求头:
        • expo-eas- 开始,或
        • 正好是 authorizationa-im
    • 一个用于更新清单请求。
      • 这必须将请求转发到 u.expo.dev,即 EAS 更新服务器。
      • 这必须传递所有 URL 内容(路径、查询参数等)。
      • 必须传递所有以 expo-eas- 为前缀的头信息。
  2. 将以下字段添加到你的 eas.json 配置文件中,并将占位符替换为你实际的代理服务器 URL:

    eas.json
    { "cli": { %%placeholder-start%%... %%placeholder-end%% "updateAssetHostOverride": "updates-asset-proxy.example.com", "updateManifestHostOverride": "updates-manifest-proxy.example.com" } }
  3. 运行以下命令以应用更改:

    Terminal
    eas update:configure
  4. 发布更新以测试代理:

    Terminal
    eas update
  5. 通过导航到 EAS 更新仪表板 上的更新组,并点击其中一个平台的“查看元数据”来进行验证。

    • manifest.json 应显示被覆盖的 manifestHostOverride
    • 其他资源应显示被覆盖的 assetHostOverride