网络要求
所有与 IronFlock 的连接都是出站连接:浏览器和边缘设备主动连接 IronFlock,IronFlock 从不连入您的网络。无需开放任何入站端口。在有防火墙、Web 过滤器或代理的网络中,请放行本页列出的目标地址。
概览
| 来源 | 目标 | 端口 | 用途 |
|---|---|---|---|
| 浏览器 | *.ironflock.com | TCP 443(HTTPS 和 WebSocket) | IronFlock Studio |
| 浏览器 | cdn.jsdelivr.net、unpkg.com | TCP 443 | 仪表板组件和代码编辑器 |
| 浏览器 | fonts.googleapis.com、fonts.gstatic.com | TCP 443 | 字体和图标 |
| 边缘设备 | *.ironflock.com | TCP 443(HTTPS 和 WebSocket) | 平台连接、应用镜像、安装、更新和远程访问 |
| 边缘设备 | app.ironflock.com | TCP 7000 | 远程访问,在该端口开放时代替 443 使用(可选) |
请整体放行 *.ironflock.com,而不是逐个放行主机名:IronFlock 使用多个子域名,只放行其中一部分的过滤器会导致 Studio 无法启动。
浏览器
IronFlock Studio 在浏览器中运行。除页面本身外,Studio 还会连接 ironflock.com 的其他子域名:一是用于登录,二是用于一条 WebSocket 连接,只要 Studio 处于打开状态,所有数据都通过它传输。
- WebSocket:代理和 Web 过滤器必须允许到
*.ironflock.com的 WebSocket 连接(wss://),并且不得在使用期间将其断开。如果您的代理会检查 TLS 流量,它必须支持 WebSocket,或将*.ironflock.com排除在检查之外。 - 组件:仪表板组件和代码编辑器从公共 npm CDN
cdn.jsdelivr.net加载,unpkg.com作为备用。如果两者都被拦截,仪表板将不显示任何组件。 - 字体和图标来自
fonts.googleapis.com和fonts.gstatic.com。如果它们被拦截,Studio 仍可使用,但字体和图标的外观会有所不同。 - 支付:
js.stripe.com只在账户设置的支付页面加载。
公司笔记本电脑和 VPN
受管理的公司笔记本电脑往往会根据是否连接了公司 VPN 而以不同方式过滤 Web 流量。连接 VPN 时,流量经过公司网关及其规则;断开 VPN 时,笔记本电脑上的安全客户端会应用自己的、通常更严格的策略。如果 IronFlock 只有在连接 VPN 时才能使用,那么这条网络外策略也必须放行 *.ironflock.com——在此之前,请在使用 IronFlock 时连接 VPN。
连接被拦截时
如果浏览器无法访问 IronFlock 服务器,Studio 会显示一个页面,列出需要放行的地址,并在这些地址可访问后自动连接。在浏览器的开发者控制台中,被拦截的连接通常显示为针对 auth.ironflock.com 或 cbw.ironflock.com 的 ERR_CONNECTION_RESET,而 Studio 页面本身可以正常加载。
边缘设备
边缘设备上的 IronFlock 代理会主动建立到 IronFlock 的连接并保持连接;设备无需开放任何入站端口(参见边缘设备与代理)。如果您的防火墙不支持通配符,以下是连接 IronFlock 云的设备在 *.ironflock.com 背后需要访问的目标地址:
| 目标 | 端口 | 用途 |
|---|---|---|
cbw.ironflock.com | TCP 443(WebSocket) | 与平台的常驻连接 |
registry.ironflock.com | TCP 443 | 下载应用镜像 |
regauth.ironflock.com | TCP 443 | 授权应用镜像下载 |
instance-registry.ironflock.com | TCP 443 | 安装和更新设备代理 |
app.ironflock.com | TCP 443(WebSocket),开放时还有 TCP 7000 | 远程访问设备和应用的用户界面 |
远程访问只需要
443端口。代理会先尝试7000端口,当7000被拦截时会自动切换到443,即使通过设备上配置的 HTTP 代理也是如此。如果您的代理会检查 TLS 流量,设备必须信任贵公司的根证书,并且代理必须允许到app.ironflock.com的 WebSocket 连接,或将其排除在检查之外。较早版本的代理只使用7000端口:如果在拦截7000的网络中远程访问失败,请更新设备代理。没有远程访问时设备仍可正常工作,但无法通过远程访问打开其用户界面和端口。
安装期间,Linux 上的安装工具还会从操作系统的软件包镜像安装软件包;如果缺少 Docker,还会从
get.docker.com和download.docker.com安装 Docker。
应用可能需要自己的目标地址,例如向其发送数据的外部 API。在开发模式下的设备上构建应用时,会从镜像仓库(例如 Docker Hub)拉取其 Dockerfile 中指定的基础镜像。
对于位于受限企业网络中的设备,还需考虑:
- 企业 HTTP 代理:必须为设备代理和 Docker 配置该代理——参见位于企业代理之后 → 边缘设备。
- 身份感知防火墙:请将规则绑定到设备,而不是已登录的用户——参见身份感知防火墙与代理。
- 时间同步:设备需要一个可用的时间服务器,通常通过 UDP
123——参见时间同步 (NTP)。
本地部署 Appliance
IronFlock Appliance 有自己的目标地址列表——参见防火墙配置。连接到 Appliance 的边缘设备会连接 Appliance,而不是 ironflock.com:参见连接到 Appliance 的设备。