我已经在我的 centos 服务器上安装了 gerrit,但是我的身份验证有问题。我想为给定组中的 centos 用户授予身份验证权限。基本上,gerrit 组中的每个用户都应该可以使用其密码登录。
但是,当我访问 gerrit 链接时,当我收到以下消息时会重定向到 gerrit:8081/login:
HTTP 服务器在将请求转发给 Gerrit Code Review 时未在 Authorization 标头中提供用户名。
如果 HTTP 服务器是 Apache HTTPd,请检查代理配置是否包含具有正确位置的授权指令,确保它以“/”结尾:
你有什么提示为什么这不起作用?
/etc/httpd/conf/httpd.conf 文件的 VirtualHost 部分如下所示:
<VirtualHost gerrit:8081>
ServerName gerrit
ProxyRequests Off
ProxyVia Off
ProxyPreserveHost On
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
<Location "/login/">
AuthType Basic
AuthName "Gerrit Code Review"
AuthBasicProvider file
AuthUserFile /etc/passwd
Require valid-user
</Location>
AllowEncodedSlashes On
ProxyPass /r http://localhost:8081/r nocanon
</VirtualHost>
gerrit.config 文件:
[gerrit]
basePath = /repos
canonicalWebUrl = http://freshattitude.eu:8081/
[database]
type = mysql
hostname = localhost
database = gerrit
username = gerrit
[auth]
type = HTTP
emailFormat = {0}@example.com
[sendemail]
smtpServer = localhost
smtpUser = root
[container]
user = gerrit
javaHome = /usr/java/jdk1.7.0_25/jre
[sshd]
listenAddress = *:29418
[httpd]
listenUrl = http://*:8081/
[cache]
directory = cache