JFrog Artifactory配置Custom Base URL后未生效如何解决?
问题原因
该现象不属于Bug,是Helm部署的JFrog Artifactory存在配置优先级覆盖导致:
- Helm Chart内置的服务端口、自定义地址参数优先级高于UI后台设置的Custom Base URL,你在UI界面修改的配置会被服务启动时加载的Helm values参数覆盖
- 快速启动向导生成仓库URL时,优先读取服务启动时注入的端口配置,而非后续UI修改的Custom Base URL,因此会始终携带默认的80端口
正确设置步骤
1. 首次部署时预配置(推荐)
在部署使用的values.yaml中添加以下配置,提前将正确的地址、端口参数注入服务:
artifactory: customBaseUrl: "https://<你的实际访问域名>" nginx: service: httpsPort: 443 httpPort: 80 tls: enabled: true # HTTPS访问必须开启该配置
执行部署命令即可:helm upgrade --install artifactory jfrog/artifactory -f values.yaml -n <你的命名空间>
2. 已部署场景修复步骤
- 首先导出当前部署的配置:
helm get values artifactory -n <你的命名空间> -o yaml > current-values.yaml - 编辑导出的
current-values.yaml,添加上述customBaseUrl和Nginx端口、TLS配置,确保Custom Base URL填写完整HTTPS地址且不携带多余端口 - 执行更新命令重启服务:
helm upgrade artifactory jfrog/artifactory -f current-values.yaml -n <你的命名空间>,等待所有Pod启动完成 - 登录Artifactory UI,进入「Admin > General > General Configuration」,确认Custom Base URL已经同步为你配置的地址,无需手动修改
- 重建已生成的Maven仓库,或手动修改仓库URL配置删除80端口即可正常访问
若你的服务通过Ingress对外暴露,还需要在values.yaml中同步配置Ingress的host、TLS参数,确保和Custom Base URL的域名完全一致。
内容的提问来源于stack exchange,提问作者Ondřej Žižka
相关产品推荐
相关产品推荐

