我正在尝试使用基本身份验证在Apache代理后面运行Artifactory。我已经为其他一些webapps(Jira,Jenkins,AnthillOS)做了这个,但是我遇到了Artifactory的问题。 Apache为独立的Artifactory服务器配置代理/ artifactory,并为/ artifactory路径定义基本auth:
<Location "/artifactory">
AuthUserFile /prod/data/apachePasswords
AuthName "My Realm"
AuthGroupFile /dev/null
AuthType Basic
Require valid-user
</Location>
在Artifactory中激活匿名浏览。
当我尝试通过Web浏览器进行访问时,我首先从Apache接收身份验证对话框。成功输入这些凭据后,我将获得另一个身份验证对话框,这个对话框用于“Artifactory Realm”。在输入Artifactory帐户的凭证后,我重新呈现了第一个身份验证对话框并继续循环。
我想获得第一个对话框,然后直接进入Artifactory进行匿名浏览。如果我在Apache中禁用身份验证,我可以匿名浏览Artifactory,但是当我在Apache中启用基本身份验证时,我会得到两个单独的循环身份验证对话框。我有什么想法可以杀死第二个对话框吗?
答案 0 :(得分:3)
本周我遇到了同样的问题。 “Artifactory Realm”的登录名与Artifactory(admin / password)的默认登录名相同。当您登录“Artifactory Realm”时,它会将您登录到Artifactory gui。我正在使用Artifactory 2.6.5
答案 1 :(得分:1)
我遇到了同样的问题,并通过在Apache代理中取消设置授权标头来修复它。看起来Artifactory正在被这个授权标题(来自第一个对话框)感到不安,并且需要一个好的&#34;第二个对话框中的Artifactory密码。这是我的配置:
<Location / >
AuthType basic
AuthName "Apache authenticate"
AuthUserFile /var/www/repo.domain.com/.htpasswd
AuthGroupFile /dev/null
Require valid-user
RequestHeader unset Authorization
ProxyPass http://repo.company.local:8081/artifactory/repo/
ProxyPassReverse http://repo.company.local:8081/artifactory/repo/
</Location>
要使用未设置的标题功能,必须启用mod_headers。