当使用Tomcat运行Artifactory时,我们建议您设置Apache通过HTTP代理Artifactory。
您必须使用PassReverse指令正确配置重定向,并在Artifactory本身中设置基本URL,以便正确显示UI链接。
示例虚拟主机假设Artifactory在端口8081上监听,而所有其他服务和UI都在端口8082上可用。
确保HTTP重定向工作正确
为了使HTTP重定向工作,必须在Apache上设置PassReverse指令,否则将在重定向中传递底层容器基URL
在下面的例子中,它被设置为http://yourdomain.com/
.
在Apache上设置PassReverse指令
ServerName yourdomain.com ServerAlias *.yourdomain.com ServerAdmin server@admin ##应用程序特定日志## ErrorLog ${APACHE_LOG_DIR}/yourdomain.com-error.log ## CustomLog ${APACHE_LOG_DIR}/yourdomain.com-access.log combined AllowEncodedSlashes On RewriteEngine On RewriteCond %{SERVER_PORT} (.*) RewriteRule (.*) - [E=my_server_port:%1] ##说明:'REQUEST_SCHEME'报头仅在apache 2.4及以上版本支持RewriteCond %{REQUEST_SCHEME} (.*) RewriteRule (.*) - [E=my_scheme:%1] RewriteCond %{HTTP_HOST} (.*) RewriteRule (.*) - [E=my_custom_host:%1] RewriteRule ^(/)?$ /ui/ [R,L] RequestHeader set Host %{my_custom_host}e RequestHeader set X-Forwarded-Port %{my_server_port}e ##{my_scheme}需要一个只有apache 2.4及以上版本支持的模块RequestHeader set x - forward - proto %{my_scheme}e RequestHeader set x - jfrog - overoverride - base - url %{my_scheme}e://yourdomain.com:%{my_server_port}e ProxyPassReverseCookiePath // ProxyRequests off ProxyPreserveHost on ProxyPass "/artifactory/" http:// . 1 . proypassreverse "/:8081/artifactory/ connectiontimeout=5 timeout=2400 ProxyPassReverse "/artifactory/" http:// :8081/artifactory/ ProxyPass "/"http:// :8082/ nocanon connectiontimeout=5 timeout=2400 ProxyPassReverse "/" http:// :8082/
NPM作用域包和Apache反向代理
要使用NPM作用域包,必须在Apache反向代理配置的SERVER块中应用以下配置。
集
AllowEncodedSlashes
“NoDecode”。AllowEncodedSlashes NoDecode
将“nocanon”关键字添加到
ProxyPass
和ProxyPassReverse
指令。ProxyPassReverse /artifactory/ http://localhost:8081/artifactory/ nocanon
使用HTTPS
您可以使用HTTP协议将带有SSL (HTTPS)的Apache设置为Artifactory的前端。
客户端 ----------> HTTPD ----------> Artifactory HTTPS HTTP
在Apache上设置SSL/TLS
SSLEngine on SSLCertificateFile path/to/yourdomain.com.crt SSLCertificateKeyFile path/to/yourdomain.com.key SSLProxyEngine on ##其他反向代理指令 .key SSLProxyEngine on ##
在Artifactory中配置自定义基础URL
当使用HTTP代理时,Artifactory生成的链接以及某些重定向可能包含错误的端口和用途http
而不是https
.
因此,需要配置自定义基URL,配置方法如下:
- 在管理选项卡选择|常规配置
自定义基础URL
字段。 - 设置自定义基础URL字段转换为用于联系Artifactory的值
例如:https://yourdomain.com
详情请参阅系统常规设置有关配置基本URL的详细信息。