Skip to content

网络

Olares 为用户提供无障碍且安全灵活的网络解决方案。本文档介绍与应用访问相关的核心概念。

入口

每个 Olares 应用可以配置一个或多个入口来接入外部访问。入口分为三种类型:

  • 公开入口

    • 托管博客、社交媒体等需要外部访问的服务
    • 无需认证即可访问
    • 通过 Cloudflare 提供基础安全防护
  • 私有入口

    • 专门为个人、家庭或团队提供服务
    • 适用于阅读器、娱乐、生产力工具、桌面应用等
    • 需要通过认证才能访问
  • 内部入口

    • 和私有入口类似
    • 设备通过本地网络或者 Olares 专用网络访问应用时无需鉴权

通过 local 访问

在局域网内或使用专用网络访问 Olares 上的应用时,可以在应用 URL 中加上 .local 字段,以获取更快的访问速度。例如,https://vault.local.alice123.olares.cn

端点

端点是用户与应用交互的访问地址或接入点(access point)。简单来说,就是在浏览器地址栏中输入的 URL,用于访问特定的 Olares 应用或其功能。

典型的 Olares 应用端点格式如下:

https://{routeID}.{domain}

例如:https://vault.alice123.olares.cn,其中:

  • vault 是系统应用的路由 ID
  • alice123.olares.cn 是由 Olares ID alice123@olares.cn 演变而来

路由 ID

路由 ID 是用于标识特定应用或应用入口的唯一标识符。系统会根据以下规则自动生成默认路由 ID:

  • 系统应用
    • 使用预设的易记路由 ID
    • 示例:desktop(桌面)、market(应用市场)
  • 社区应用
    • 使用 8 位随机字符串 + 入口索引(从 0 开始)
    • 示例:对于路由 ID 为 92d76a13 且有两个入口的应用,第一个入口为92d76a130,访问 URL 为 92d76a130.alice.olares.cn

注意

  • 应用地址包含 Olares ID
  • 入口索引指的是入口在 OlaresManifest.yaml 中定义的多个入口中的位置。

Olares 内部网络

Olares 在网关架构中采用多层代理路由设计。流量经过多个层级分发:

集群 -> 用户 -> 应用 -> 服务组件

alt text

在应用内部,Olares 实现了多层安全防护。

  • 命名空间隔离

    • 每个应用运行在独立命名空间中
    • 所有资源限定在命名空间内
    • 应用无法将 "ClusterRole" 连接到 "ServiceAccount"
    • 禁止跨命名空间访问资源
  • 网络策略控制

    • 每个命名空间有专属网络策略
    • 入站网络请求仅限于用户的集群应用和系统应用
    • 用户级网络隔离:
      • 不同用户之间的应用相互隔离
      • 统一用户的第三方应用之间相互隔离
  • Pod 限制

    • Pod 不能使用 hostNetwork 服务或 NodePort 服务
    • 流量访问必须通过声明的入口服务和系统提供的入口代理
    • 声明为入口的 Pod 将被强制加入 Envoy 的沙箱 Sidecar,以对入站流量进行认证和授权

了解更多