第 16 章 允许从其他主机对 API 服务器进行基于 JavaScript 的访问
16.1. 允许从其他主机对 API 服务器进行基于 JavaScript 的访问
默认的 OpenShift Container Platform 配置仅允许 OpenShift Web 控制台向 API 服务器发送请求。
如果需要使用其他主机名从 JavaScript 应用程序访问 API 服务器或 OAuth 服务器,可以配置额外的主机名来允许这么做。
先决条件
-
使用具有
cluster-admin
角色的用户访问集群。
流程
编辑 API 服务器资源:
$ oc edit apiserver.config.openshift.io cluster
在
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)
或端口分隔符(:)
。
- 保存文件以应用更改。