首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有港口复制的401“所需身份验证”

带有港口复制的401“所需身份验证”
EN

Stack Overflow用户
提问于 2018-08-06 08:50:58
回答 1查看 4.4K关注 0票数 0

我已经部署了一个带有vmware-港口v1.5.0的专用码头注册中心。虽然它可以与大多数函数一起工作,比如登录和拉/推图像,但是当我尝试使用管理->复制时,“身份验证所需”的错误总是准确的。

以下是港口复制错误详细信息

2018-08T06:57:41Z信息初始化完成:存储库:op/test,标记: 3.4.11,源注册表: URL-http://registry.xx.com不安全-true,目标注册表:URL-不安全https://registry-slave.xx.com-false 2018-08-06T06:57:41Z警告在目标注册表上创建项目操作时状态代码为409,请执行下一步。 2018-08-06T06:57:41Z错误:从源注册表拉出操作系统/动物园管理员的清单:3.4.11来自源注册表: 401 {“错误”:[{“代码”:“未经授权”,“消息”:“身份验证所需”,“详细信息”:{“类型”:“存储库”,“类”:“,名称”:“of /test”,“操作”:“拉”}]

如前所述,未经授权的错误似乎是由于从本地提取图像,而不是由于远程。实际上,远程注册表已经通过了管理->注册表创建页面中的“测试连接”。

我想知道,是否应该将某些指定的配置设置为使用复制功能?从本地提取图像时使用了哪个角色?

因此,我尝试阅读港口源代码,并在第230行的作业服务/作业/impl/复制/转移。中找到错误消息引发点:

acceptMediaTypes := []string{schema1.MediaTypeManifest, schema2.MediaTypeManifest} digest, mediaType, payload, err := t.srcRegistry.PullManifest(tag, acceptMediaTypes) if err != nil { t.logger.Errorf("an error occurred while pulling manifest of %s:%s from source registry: %v", t.repository.name, tag, err) return "", nil, err

正如上面的代码,似乎401 http代码从来没有考虑过,acceptMediaTypes是一些http头来处理媒体类型,而不是身份验证。那么港口是如何从当地吸引图像的呢?

环境

linux:版本7.5 (Maipo)

港口: v1.5.0

码头(客户及服务器):17.12.1-行政长官

网络拓扑

->港(http:8082)

nginx和港湾都部署在同一个KVM上。

"registry-test.xx.com“在DNS中解析

我更希望知道有谁成功地使用了港口的复制功能..。

所以任何人都可以帮我个忙还是给我点小费?非常感谢~

更多细节: 08-07

尝试从KVM本地获取一些wireshark信息

代码语言:javascript
复制
tcpdump -i any port 8082

复制期间的pcap

如图所示,"/service/ token“请求已被发送,并获得了正确的令牌,但下面的清单请求没有携带炭疽令牌,因此失败了。所以我不知道令牌缓存发生了什么。

也许我需要阅读公共/实用/注册表/auth/TokenAuthizer.go的更多代码细节。

EN

回答 1

Stack Overflow用户

发布于 2018-08-07 12:47:17

幸运的是解决了这个问题!

实际上,关键的错误是网络拓扑:

-> nginx (https:443) ->港(http:8082)

"nginx (https:80) -> nginx (https:443)“只需通过301重定向处理从港口组件到自注册中心的请求,因为以http模式部署的港口本身也是http请求。

它需要灾难,因为30X重定向不能接受敏感的标题,如cookie和身份验证。因此,请求重定向到https --实际上,永远不要将任何身份验证令牌带到港口,因此在提取图像时会引发401错误。

在我的选择中,解决这个问题的方法只是改变网络拓扑:

->港(https:8082)

这意味着港口必须以https模式部署。

事实上,它现在真的很好用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51703817

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档