如何在Apache反向代理中使用存储库路径方法

Shai Ben-Zvi
2023-01-22 11

相关版本:该信息属于Artifactory 6。xand Apache Reverse Proxy versions 2.4 and above

Repository Path方法将帮助你使用Docker对抗Artifactory没有反向代理.但是,如果您选择将Apache反向代理与此方法一起部署,请使用下面的配置模板来设置一切(在Artifactory版本6.5.9上进行了测试)。

首先打开Artifactory UI,导航到Admin选项卡> Configuration > HTTP设置,并验证Docker Access Method设置为Repository Path。另外,在反向代理设置下,将服务器提供程序设置为嵌入式Tomcat,然后单击保存。最后,将以下配置模板文件复制到Apache反向配置中,替换粗体文本以适应您的环境:

< VirtualHost *: 80 >

ProxyPreserveHost上

ServerName < your-external-dns >
ServerAlias *。< your-external-dns >
服务器server@admin

##应用程序特定的日志
${APACHE_LOG_DIR}/art.local-error.log
${APACHE_LOG_DIR}/art.local-access.log组合

AllowEncodedSlashes上
RewriteEngine上

RewriteCond %{SERVER_PORT} (.*)
RewriteRule (.*) - [E=my_server_port:%1]
##注意:'REQUEST_SCHEME'报头仅在apache 2.4及以上版本支持
重写%{REQUEST_SCHEME} (.*)
RewriteRule (.*) - [E=my_scheme:%1]

重写%{HTTP_HOST} (.*)
RewriteRule (.*) - [E=my_custom_host:%1]

RewriteRule ^/$ /artifactory/webapp/ [R,L]
RewriteRule ^ / artifactory (/) ?$ /artifactory/webapp/ [R,L]
RewriteRule ^/artifactory/webapp$ /artifactory/webapp/ [R,L]

RequestHeader设置主机%{my_custom_host}e
设置x - forward - port %{my_server_port}e
##注意:{my_scheme}需要一个只有apache 2.4及以上版本支持的模块
请求头设置X-Forwarded-Proto %{my_scheme}e
RequestHeader set X-Artifactory-Override-Base-Url %{my_scheme}e://:%{my_server_port}e/artifactory
ProxyPassReverseCookiePath /artifactory /artifactory

ProxyRequests掉
ProxyPreserveHost上
ProxyPass /artifactory/ https:///artifactory/
ProxyPassReverse /artifactory/ https:///artifactory/

ProxyPass / https:///artifactory/
ProxyPassReverse / https:///artifactory/
< /虚拟主机>

发布日期:2019年1月9日
最后更新:2021年5月30日

关键词:反向代理,Apache, Docker