问题描述
我正在使用docker-compose
运行 Artifactory CPP CE 7.7.3 和 Traefik v2.2 。该服务仅在http://localhost/ui/
上可用。现在,我需要的是一个允许添加URL路径前缀(例如http://localhost/artifactroy/ui
)的选项。
我的设置
- 我使用了Artifactory Docs所建议的设置过程。
- 我的docker.compose.yaml是从 jfrog-artifactory-cpp-ce-7.7.3-compose.tar.gz 中提取的官员:
./templates/docker-compose.yaml
。 - 我正在使用反向代理(traefik)。为此,我在docker-compose-file中添加了必要的traefik配置行。这是我添加的一小部分内容:
[...] labels: - "traefik.http.routers.artifactory.rule=Host(`localhost`) && PathPrefix(`/ui`)" - "traefik.http.routers.artifactory.middlewares=artifactory-stripprefix" - "traefik.http.middlewares.artifactory-stripprefix.stripprefix.prefixes=/" - "traefik.http.services.artifactory.loadbalancer.server.port=8082"
以此,我设法通过http://localhost/ui/
访问了人工产品。
问题:
我的服务器上运行着多个小型服务,每个服务都可以通过http://localhost/<service-name>
来指责。这非常方便,并且要弄清楚此URL与生产服务器上的此服务相关。
因此,我想使用 http://localhost/artifactroy/ui/...
这样的URL,而不是 http://localhost/ui/...
我很难以这种方式进行人工设置。我已经设法通过键入e获得重定向。 G。 http://localhost/artifactroy/
到http://localhost/ui/
,但这不是我在生产服务器上想要的。
我做了什么
- 浏览了文档,希望找到一个我可以传递给artifactroy来添加前缀的选项(不成功)。
- 尝试整整两天配置traefik,以更改标头以使休憩点指向
http://localhost/artifactroy/ui/...
(仅部分成功,之后重定向不起作用) - 试图在
$JFROG_HOME/artifactory/var/etc
中找到负责配置工件的配置(不成功)
这有可能吗?非常感谢您的帮助。
解决方法
这个示例(即使不是 traefic 示例)为您提供了实现它的方向。产品中已经使用了某些路线。您需要在其上方添加一个上下文,以确保所有内容都来自新的上下文路径。
https://jfrog.com/knowledge-base/how-to-remove-artifactory-from-the-context-url-in-artifactory-7/