有没有一种方法可以让 Artifactory 不在本地存储工件并从下游源传播响应 headers?
Is there a way for Artifactory to not store artifacts locally AND propagate response headers from the downstream source?
背景
我们在内部网络上使用 Artifactory 并将 S3 存储桶代理为通用远程存储库。最初的目的是作为代理和缓存,以便我们的内部用户可以从我们的网络中访问文件。他们无法访问开放的互联网。
在开发过程中,我们意识到 S3 objects 会不时发生变化,因此决定取消设置 "Store artifacts locally?" 复选框,因为我们需要将 Artifactory 作为代理但不一定是缓存。如果 S3 出现故障,我们就会遇到更大的问题。
由于 S3 objects 正在流式传输,出于(事后看来)显而易见的原因,从 HTTP 响应中删除了 X-Checksum-*
header 的意外后果。或者,我们的 S3 objects 有额外的元数据 header,其中包括校验和 ex。 x-amz-meta-digest-sha1
。我们有逻辑检查 header 来验证负载。
问题
当我们不在本地缓存工件时,我能否让 Artifactory 传递来自 S3 的响应 header?
Artifactory 不 pass-through header 来自远程存储库;没有启用它的设置。
作为解决方法,由于 Artifactory return X-Checksum-Sha1
header 如果它存在于来自远程存储库的响应中,您可以在两者之间放置一个反向代理(例如 nginx) Artifactory 和 S3 仅将 S3 x-amz-meta-digest-sha1
header 转换为具有相同值的 X-Checksum-Sha1
header。
这应该有效...
HTH,
艺侬
背景
我们在内部网络上使用 Artifactory 并将 S3 存储桶代理为通用远程存储库。最初的目的是作为代理和缓存,以便我们的内部用户可以从我们的网络中访问文件。他们无法访问开放的互联网。
在开发过程中,我们意识到 S3 objects 会不时发生变化,因此决定取消设置 "Store artifacts locally?" 复选框,因为我们需要将 Artifactory 作为代理但不一定是缓存。如果 S3 出现故障,我们就会遇到更大的问题。
由于 S3 objects 正在流式传输,出于(事后看来)显而易见的原因,从 HTTP 响应中删除了 X-Checksum-*
header 的意外后果。或者,我们的 S3 objects 有额外的元数据 header,其中包括校验和 ex。 x-amz-meta-digest-sha1
。我们有逻辑检查 header 来验证负载。
问题
当我们不在本地缓存工件时,我能否让 Artifactory 传递来自 S3 的响应 header?
Artifactory 不 pass-through header 来自远程存储库;没有启用它的设置。
作为解决方法,由于 Artifactory return X-Checksum-Sha1
header 如果它存在于来自远程存储库的响应中,您可以在两者之间放置一个反向代理(例如 nginx) Artifactory 和 S3 仅将 S3 x-amz-meta-digest-sha1
header 转换为具有相同值的 X-Checksum-Sha1
header。
这应该有效...
HTH, 艺侬