我正在设置一个带有LDAP auth的mercurial服务器,我想允许每个repo访问,所以我在.hg下为每个repo创建一个hgrc。
[web]
allow_push = user1
我的问题是,如果我使用这些hgrc文件,我就无法向任何用户推送(中止:授权失败)。如果我只使用hgweb.config,我可以毫无问题地完成
有什么帮助吗?
感谢
当你把这些行放在hgweb.config
文件中时,你能和任何用户推送吗?我的猜测是,您的LDAP提供的用户名格式与您预期的不同(可能是电子邮件地址等),因此它们不匹配。
请检查您的apache错误日志以了解任何有趣的内容,并考虑更改日志格式以记录$REMOTE_USER
环境用户,以查看匹配的内容。此外,如果您没有使用SSL连接,请确保您的push_ssl
值设置为false(尽管您应该这样做)。
当您的HTTP服务器是Nginx时,修改log_format
以找出哪个用户从Nginx重定向到HG
vi /etc/nginx/nginx.conf
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
并查看Nginx日志文件
cat /var/log/nginx/nginx.log