我正在使用 LDAP auth 设置一个 mercurial 服务器,我想在其中允许每个 repo 访问,所以我在 .hg 下为每个 repo 创建一个 hgrc。
[web]
allow_push = user1
我的问题是,如果我使用这些 hgrc 文件,我无法与任何用户一起推送(中止:授权失败)。如果我只使用 hgweb.config 我可以毫无问题地做到这一点
有什么帮助吗?
谢谢
当您将这些行放入hgweb.config
文件中时,您可以推送任何用户还是只推送您列出的用户?我的猜测是您的 LDAP 提供的用户名格式与您预期的不同(可能是电子邮件地址等),因此它们不匹配。
检查您的 apache 错误日志是否有任何有趣的内容,并考虑更改日志格式以记录$REMOTE_USER
环境用户以查看匹配的内容。push_ssl
此外,如果您不使用 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