前提:

    (前提中的操作也是解决跨域问题的步骤)

    1、在k8s集群中已成功部署spinnaker,pod都是running;

        2、集群中已安装好ingress-nginx,nginx的访问方式为nodeport,已经创建好spinnaker的ingress资源,资源文件如下:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: spin-deck
  namespace: spinnaker
spec:
  ingressClassName: nginx 
  rules:
  - host: spinnaker.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: spin-deck
            port:
              number: 9000
  - host: spin-gate.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: spin-gate
            port:
              number: 8084

3、已通过如下命令设置好spinnaker的ui和gate的override-base-url

$ hal config security ui edit --override-base-url http://spinnaker.com:31295
$ hal config security api edit --override-base-url http://spin-gate.com

问题现象:

        通过浏览器输入“http://spinnaker.com:31295”访问 spinnaker的时候,通过打开浏览器控制台(F12)-->Console疯狂输出跨域信息,类似如下情况;

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://spin-gate.com/credentials?expand=true. 
(Reason: CORS header ‘Access-Control-Allow-Origin’ missing). Status code: 502.

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://spin-gate.com/credentials?expand=true. 
(Reason: CORS request did not succeed). Status code: (null).

问题解决:

        使用spinnaker用户做如下操作:

        1、新建profiles文件夹

$ mkdir -p /home/spinnaker/.hal/default/profiles

        2、新建两个文件,内容如下

# 路径:~/.hal/default/profiles/settings-local.js
# 内容如下:
window.spinnakerSettings.gateUrl = 'http://spin-gate.com:nginx端口号';

# 路径:~/.hal/default/profiles/gate-local.yml
# 内容如下:
server:
  port: 8084

cors:
  enabled: true
  allowedOriginsPattern: '^http://spinnaker.com:nginx端口号$'

nginx端口号通过如下方式获取:、

        3、重新部署spinnaker

$ hal deploy clean
$ hal deploy apply

        4、浏览器访问spinnaker

注:如果还有跨域问题,可以尝试新建一个隐私窗口访问spinnaker,没有跨域问题的话,回到正常窗口下,

  • 打开浏览器控制台(F12)→ 右键刷新按钮 → 选择 “清除缓存并完全重新加载”

  • 或者使用快捷键:Ctrl + Shift + R(Windows)或 Cmd + Shift + R(Mac)

清空浏览器缓存。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐