Allowing JavaScript-based access to the API server from additional hosts

Allowing JavaScript-based access to the API server from additional hosts

The default OKD configuration only allows the OpenShift web console to send requests to the API server.

If you need to access the API server or OAuth server from a JavaScript application using a different hostname, you can configure additional hostnames to allow.

Prerequisites

  • Access to the cluster as a user with the cluster-admin role.

Procedure

  1. Edit the APIServer resource:

    1. $ oc edit apiserver.config.openshift.io cluster
  2. Add the additionalCORSAllowedOrigins field under the spec section and specify one or more additional hostnames:

    1. apiVersion: config.openshift.io/v1
    2. kind: APIServer
    3. metadata:
    4. annotations:
    5. release.openshift.io/create-only: "true"
    6. creationTimestamp: "2019-07-11T17:35:37Z"
    7. generation: 1
    8. name: cluster
    9. resourceVersion: "907"
    10. selfLink: /apis/config.openshift.io/v1/apiservers/cluster
    11. uid: 4b45a8dd-a402-11e9-91ec-0219944e0696
    12. spec:
    13. additionalCORSAllowedOrigins:
    14. - (?i)//my\.subdomain\.domain\.com(:|\z) (1)
    1The hostname is specified as a Golang regular expression that matches against CORS headers from HTTP requests against the API server and OAuth server.

    This example uses the following syntax:

    • The (?i) makes it case-insensitive.

    • The // pins to the beginning of the domain and matches the double slash following http: or https:.

    • The . escapes dots in the domain name.

    • The (:|\z) matches the end of the domain name (\z) or a port separator (:).

  3. Save the file to apply the changes.