两台Artifactory级联配置Ubuntu远端仓库报404错误如何解决
问题根因
无公网访问权限的Artifactory拉取Ubuntu源Packages元数据返回404,核心是Debian/Ubuntu类型仓库的元数据路径匹配规则导致:
- 未开启本地存储制品时,离线Artifactory会直接透传所有请求到上游公网Artifactory,若远端仓库URL配置的路径和上游Ubuntu仓库的实际根路径不匹配、或者上游仓库开启了元数据强制重写,就会导致请求的Packages文件路径和上游实际存储路径不一致,触发404。
- 开启本地存储制品后,离线Artifactory会先把上游的制品、元数据缓存到本地,再基于本地存储的内容重新生成符合本地路径规则的Packages元数据,路径完全匹配,因此不会出现404报错。
解决方案(保持开启本地存储制品)
按照以下步骤分别配置两台Artifactory即可:
公网连通侧Artifactory配置
- 确认Ubuntu远端仓库的
Index Depth参数和官方源保持一致,设置为3即可,关闭强制重写元数据开关,避免本地生成的元数据路径和官方源路径冲突。 - 开放该Ubuntu仓库的拉取权限,确保离线Artifactory的IP可以通过配置的认证信息(或匿名)拉取
dists/、pool/目录下的所有文件。
无公网侧Artifactory配置
- 远端仓库的URL填写公网Artifactory Ubuntu仓库的完整根路径,格式为
http://<公网Artifactory地址>/artifactory/<Ubuntu仓库名>/,路径末尾必须添加/,避免路径拼接错误。 - 保持本地存储制品为开启状态,将
Metadata Retrieval Cache Period设置为21600秒(6小时),避免频繁向上游发起元数据请求。 - 开启自动缓存缺失元数据选项,确保首次拉取时会自动将上游的Packages、Release等元数据缓存到本地。
- 若上游仓库需要鉴权,在远端仓库高级配置中填写有权限的用户名和API Key,点击测试按钮确认连接正常。
验证操作
- 进入无公网侧Artifactory的Ubuntu远端仓库配置页,点击
Recalculate Index手动触发索引重新计算,等待任务完成。 - 在客户端配置指向无公网侧Artifactory的Ubuntu源,执行
apt update确认无404报错,执行apt install <测试包名>确认可以正常拉取安装软件。
内容的提问来源于stack exchange,提问作者mobios
相关产品推荐
相关产品推荐

