首页 > 解决方案 > 在kubernetes集群中登录harbor 2.0.1时禁止403

问题描述

我在kubernetes v1.18中安装了harbor v2.0.1,现在当我登录harbor时,它给了我这个提示:

{"errors":[{"code":"FORBIDDEN","message":"CSRF token invalid"}]}

这是我的 traefik 2.2.1 入口配置(这是我参考的文档):

spec:
  entryPoints:
    - web
  routes:
    - kind: Rule
      match: Host(`harbor-portal.dolphin.com`) && PathPrefix(`/c/`)
      services:
        - name: harbor-harbor-core
          port: 80
    - kind: Rule
      match: Host(`harbor-portal.dolphin.com`)
      services:
        - name: harbor-harbor-portal
          port: 80

我检查港口核心日志只显示 ping 成功消息。我应该使用 https 吗?我正在本地机器上学习。https是强制性的吗?我正在从互联网上搜索并找到一点资源来谈论它。我应该怎么做才能让它发挥作用?

在此处输入图像描述

我阅读了源代码,并在harbor core pod中尝试了这样的:

harbor [ /harbor ]$ curl --insecure -w '%{http_code}' -d 'principal=harbor&password=Harbor123456' http://localhost:8080/c/login   
{"errors":[{"code":"FORBIDDEN","message":"CSRF token invalid"}]}

标签: kubernetes

解决方案


我的公开类型是nodePort。修改values.yaml文件,“externalURL:https”修改为“externalURL:http”

之前:externalURL:https ://10.240.11.10:30002 之后:externalURL:http: //10.240.11.10 :30002

然后重新安装港口


推荐阅读