第 19 章 允许从其他主机对 API 服务器进行基于 JavaScript 的访问

19.1. 允许从其他主机对 API 服务器进行基于 JavaScript 的访问

默认的 OpenShift Container Platform 配置仅允许 OpenShift Web 控制台向 API 服务器发送请求。

如果需要使用其他主机名从 JavaScript 应用程序访问 API 服务器或 OAuth 服务器,可以配置额外的主机名来允许这么做。

先决条件

  • 使用具有 cluster-admin 角色的用户访问集群。

流程

  1. 编辑 API 服务器资源:

    $ oc edit apiserver.config.openshift.io cluster
  2. spec 部分下添加 additionalCORSAllowedOrigins 字段,并且指定一个或多个额外主机名:

    apiVersion: config.openshift.io/v1
    kind: APIServer
    metadata:
      annotations:
        release.openshift.io/create-only: "true"
      creationTimestamp: "2019-07-11T17:35:37Z"
      generation: 1
      name: cluster
      resourceVersion: "907"
      selfLink: /apis/config.openshift.io/v1/apiservers/cluster
      uid: 4b45a8dd-a402-11e9-91ec-0219944e0696
    spec:
      additionalCORSAllowedOrigins:
      - (?i)//my\.subdomain\.domain\.com(:|\z) 1
    1
    主机名用 Golang 正则表达式指定,与来自对 API 服务器和 OAuth 服务器的 HTTP 请求的 CORS 标头匹配。
    注意

    此示例采用以下语法:

    • (?i) 使它不区分大小写。
    • // 固定到域的开头,并且匹配 http:https: 后面的双斜杠。
    • \. 对域名中的点进行转义。
    • (:|\z) 匹配域名末尾 (\z) 或端口分隔符 (:)
  3. 保存文件以应用更改。

为了尽快向用户提供最新的信息,本文档可能会包括由机器自动从英文原文翻译的内容。如需更多信息,请参阅此说明。