在 HTTP proxy 后面使用 Realm JavaScript

Realm JavaScript SDK 对在 HTTP proxy 后面运行的支持有限:

当前限制:

  • 目前仅在 Node.js 上运行的 Realm JavaScript v10.3.0 或更高版本支持此功能。
  • 您必须手动安装fetch-with-proxy包。
  • 您必须设置HTTPS_PROXY环境变量,因此无法在运行时或按应用程序设置代理。
  • 不支持从客户端到代理服务器的 HTTPS 连接。 即, HTTPS_PROXY中指定的 URL 必须以http://开头。

正在安装 fetch-with-proxy

在撰写本教程时,需要手动步骤来切换网络传输层使用的 节点-fetch 包。需要 NPM CLI v6.9.0 或更高版本。

安装 Realm JS 后,运行以下命令将不同的包安装到网络传输包中:

npm install node-fetch@npm:fetch-with-proxy --prefix node_modules/realm-network-transport

设置HTTPS_PROXY并运行脚本

假设您要运行一个index.js脚本,同时通过位于http://127.0.0.1:3128的 HTTP 代理路由 Realm JS 的所有请求。

在 Unix 系统上,只需在命令前添加环境变量的前缀即可,如下所示:

HTTPS_PROXY=http://127.0.0.1:3128 node index.js

在 Windows 系统上,您必须通过“高级系统设置”>“环境变量”>“编辑系统变量”来配置变量。