kubernetes - 在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"}]}
解决方案
我的公开类型是nodePort。修改values.yaml文件,“externalURL:https”修改为“externalURL:http”
之前:externalURL:https ://10.240.11.10:30002 之后:externalURL:http: //10.240.11.10 :30002
然后重新安装港口
推荐阅读
- linux - 如何在 Unix 命令的两列中获取相同值的唯一值
- python - python装饰器修改的函数返回值是否只能为Nonetype
- css - 在背景 div 上垂直居中文本
- android - 如何在现有项目 android studio 中添加项目 phonegap/cordova?
- javascript - 如何防止 javascript 中格式错误的 unicode 字符串
- javascript - 在 React 中使用动画滚动到顶部按钮
- html - 纯 CSS 专注于父元素并改变子元素的样式 [CSS / SCSS]
- spring - 如何使用实现 ImportBeanDefinitionRegistrar 在类中注入属性?
- c# - 隐藏并关闭不适用于我的所有形式
- gitlab - Gitlab:小组维护者可以访问私人小组项目吗?