×

允许来自其他主机的基于JavaScript的API服务器访问

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

如果您需要从使用不同主机名的JavaScript应用程序访问API服务器或OAuth服务器,您可以配置其他主机名以允许访问。

先决条件
  • 以具有cluster-admin角色的用户身份访问集群。

步骤
  1. 编辑APIServer资源

    $ 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. 保存文件以应用更改。