如何为docker配置f5重写

JFrog支持
2023-01-22 11

主题:

可能需要配置f5来重写docker。下面是子域方法的配置示例:

解决方法:

当HTTP_REQUEST {
if {[string tolower [HTTP::uri]] starts_with "/v2/"} {
#设置Artifactory服务器信息
设置ARTI_PORT为443
设置ARTI_PROTO“https”
设置TIMEOUT 900
#解析原始主机请求
扫描[HTTP::host] %\[^.\].%\[^.\]。回收域TLD
重写uri
HTTP:: uri / artifactory / api /码头工人/美元回购(HTTP: uri):
#设置请求头
"$ARTI_PROTO://[HTTP::host]/artifactory"
HTTP::头插入x - forwarding - port "$ARTI_PORT"
HTTP::头插入X-Forwarded-Proto "$ARTI_PROTO"
HTTP::头插入主机"[HTTP:: Host]"
#更新空闲超时
知识产权::美元idle_timeout超时

基本上,取一个docker命令,比如docker pull docker.artifactory。Test /busybox,其中docker是repo, busybox是docker映像,artifactory. exe是docker映像。Test是服务器名。

你想要它重写uri到/artifactory/api/docker//,或者/artifactory/api/docker/docker/busybox

看看下面的更多信息:
https://devcentral.f5.com/articles/irules-101-16-parsing-strings-with-the-tcl-scan-command