有问题吗?想要报告问题?联系JFrog支持

跳到元数据的末尾
进入元数据的开始

概述

在许多情况下,组织可以通过反向代理提供对Artifactory的访问,例如NGINXApache.在某些情况下,例如使用Docker,这种设置甚至是强制性的。为了简化反向代理的配置,从4.3.1版开始,Artifactory提供了一个反向代理配置生成器屏幕,您可以在其中填写一组字段以生成所需的配置片段,然后您可以下载并直接安装到反向代理服务器的相应目录中。你也可以使用REST API管理反向代理配置。

如果您在反向代理后使用Artifactory,我们建议您设置您的自定义URL库为了匹配你的Artifactory服务器名称

页面内容


反向代理设置

若要配置反向代理,请在管理模块,选择配置|HTTP的设置并执行以下步骤反向代理设置面板:

  • 根据您的配置填写各字段。
  • 生成配置文件。您可以单击屏幕右上方的图标来查看您的配置(您可以复制配置)或将其作为文本文件下载。
  • 将配置文件放在反向代理服务器安装下的正确位置,并重新加载配置。

使用NGINX ?注意这些要求。

要使用NGINX作为反向代理来与Docker一起工作,你需要NGINX v1.3.9或更高版本。

NGINX配置文件应该放在sites-enabled目录中。

详情请参阅配置NGINX

使用Apache吗?注意这些要求。

Apache配置中的某些特性仅在Apache HTTP Server v2.4中得到支持。

要使用Apache作为反向代理服务器,请确保安装并激活了以下模块:

  • proxy_http
  • proxy_ajp
  • 重写
  • 缩小
  • proxy_balancer
  • proxy_connect
  • proxy_html
  • ssl
  • lbmethod_byrequests
  • slotmem_shm
  • 代理

Artifactory版本4.4.1提供了生成Apache反向代理配置的支持。

详情请参阅配置Apache

最佳实践

使用反向代理时,我们建议将X-Artifactory-Override-Base-Url标题如下:

NGINX的:

proxy_set_header X-Artifactory-Override-Base-Url $http_x_forwarded_proto://$<主机>:<服务器端口>/<公共上下文>

              

Apache:

重写%{REQUEST_SCHEME} (.*)
RewriteRule (.*) - [E=my_scheme:%1]
[…]
RequestHeader set X-Artifactory-Override-Base-Url %{my_scheme}e:///

反向代理设置

Web服务器类型

反向代理类型。目前支持NGINX和Apache。

选择嵌入式Tomcat实际上意味着您正在使用Repository Path方法将Artifactory作为Docker注册表访问,因此在Artifactory中嵌入的Tomcat将请求从Docker客户端路由到Artifactory Docker注册表。

Artifactory服务器名称
Artifactory的内部服务器名。如果Web服务器安装在与Artifactory相同的机器上,则可以使用本地主机,否则使用IP地址或者是机器的名字
Artifactory港口
为Artifactory配置的端口。缺省值为8081。
Artifactory上下文路径
用于访问Artifactory的路径。如果Artifactory可以在服务器的根节点上访问,则将此字段保留为空。
Balance会员(Apache)
上游名称(NGINX)

仅在Artifactory HA安装中可用。定义HA集群中用于负载均衡的服务器组。(默认值:artifactory)。

有关详情,请参阅NGINX的文档Apache文档相应的行动。

同一域下的多个Artifactory实例

如果在同一个域下使用多个Artifactory实例,例如:artdev.mycompany.org而且artprod.mycompany.org必须为每个集群配置分配不同的平衡成员/上游名称,因为会话cookie将对两个集群可用,如果试图同时访问两个集群,可能会导致问题。

公共服务器名称
将在组织内公开用于访问Artifactory的服务器名。
公共上下文路径
用于访问Artifactory的公开路径。如果Artifactory可以在服务器的根目录上访问,则将此字段保留为空。

您可以通过HTTP、HTTPS或两者配置对Artifactory的访问(至少需要其中一种)。对于您设置的每个复选框,您需要填写相应的字段,如下所示:

使用HTTP
设置后,Artifactory将可以通过设置的相应端口上的HTTP访问。
HTTP端口
通过HTTP访问的端口。默认值为80。
使用HTTPS
设置后,Artifactory将通过设置的相应端口上的HTTPS访问。
HTTPS端口
通过HTTPS访问的端口。默认值为443。
SSL密钥路径
通过HTTPS访问密钥文件的完整路径。
SSL证书路径
通过HTTPS访问的证书文件的完整路径。

Docker反向代理设置

当使用Artifactory作为本地私有Docker注册表时,Docker客户端可以通过反向代理或直接通过Artifactory的嵌入式Tomcat访问Artifactory。

JFrog Artifactory SaaS Docker注册表

请注意,在JFrog Artifactory SaaS安装中访问Artifactory Docker注册表并不使用反向代理,因为它是组织外部的。

使用反向代理

Docker客户端可以通过反向代理访问Artifactory子域法(推荐)或通过端口的方法

对于这些方法中的每一种,您的Docker存储库必须配置相应的反向代理设置Docker存储库配置先进的选项卡反向代理配置屏幕还设置Docker Repository配置

使用子域名

如果您选择子域名随着反向代理法,在配置Docker Repository时,使用注册的名字Docker存储库配置先进的选项卡将自动设置为所需的值,并将使用库的关键随着子域名

通配符证书

使用子域名方法需要通配符证书等。*.myservername.org.您还需要确保您使用的证书支持子域中使用的级别数量。

HTTP设置中的Docker设置 Docker Repository高级配置中的相应HTTP设置

反向代理配置子域方法中的Docker设置

使用端口绑定

如果您选择港口随着反向代理法,当配置Docker Repository时,您将需要设置注册中心港口Docker存储库配置先进的选项卡。连同公共服务器名称,这是Docker客户端将用于从存储库中提取图像和将图像推入存储库的端口。请注意,为了使所有Docker存储库都包含在反向代理配置中,您首先需要为系统中定义的每个Docker存储库设置端口,然后才生成反向代理配置。还要注意,每个存储库必须绑定到唯一的端口

最佳实践

我们建议创建一个Docker虚拟存储库它聚合了所有其他Docker存储库,并使用它来拉和把图片.这样你只需要为虚拟存储库设置NGINX配置。

HTTP设置中的Docker设置 Docker Repository高级配置中的相应HTTP设置

使用直接存取

访问Docker存储库不使用反向代理,在“HTTP设置”界面的“Docker设置面板”中,选择“Docker访问方法”为“Repository Path”。

HTTP设置中的Docker设置 Docker Repository高级配置中的相应HTTP设置


REST API

Artifactory还支持通过REST API使用以下端点管理反向代理配置:

获取反向代理配置
检索反向代理配置JSON。
更新反向代理配置
更新反向代理配置。
获取反向代理代码片段
获取文本格式的反向代理配置片段。





  • 没有标签