2

我正在尝试在具有基本身份验证的 Apache 代理后面运行 Artifactory。我已经为其他一些 web 应用程序(Jira、Jenkins、AnthillOS)做到了这一点,但是在使用 Artifactory 时遇到了问题。Apache 配置代理 /artifactory 到独立的 Artifactory 服务器,并为 /artifactory 路径定义基本身份验证:

<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 中启用基本身份验证时,我会得到两个单独的循环身份验证对话框。有什么想法可以杀死第二个对话框吗?

4

2 回答 2

3

这周我遇到了同样的问题。“Artifactory Realm”的登录名与 Artifactory 的默认登录名相同(管理员/密码)。当您登录到“Artifactory Realm”时,它会将您登录到 Artifactory gui。我正在使用 Artifactory 2.6.5

于 2012-12-06T00:51:15.200 回答
1

我遇到了同样的问题,并通过取消设置 Apache 代理中的授权标头来修复它。看起来 Artifactory 对此授权标头(来自第一个对话框)感到不安,并且在第二个对话框中需要一个“好”的 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。

于 2013-12-12T11:16:54.897 回答