【问题标题】:allow_push on .hg/hgrc doesn't seem to work.hg/hgrc 上的 allow_push 似乎不起作用
【发布时间】:2012-03-01 13:31:56
【问题描述】:

我正在使用 LDAP auth 设置一个 mercurial 服务器,我想在其中允许每个 repo 访问,所以我在 .hg 下为每个 repo 创建一个 hgrc。

[web]
allow_push = user1

我的问题是,如果我使用这些 hgrc 文件,我无法向任何用户推送(中止:授权失败)。如果我只使用 hgweb.config 我可以毫无问题地做到这一点

有什么帮助吗?

谢谢

【问题讨论】:

    标签: mercurial hgrc


    【解决方案1】:

    当您将这些行放入您的 hgweb.config 文件时,您可以使用 any 用户推送还是只推送您列出的用户?我的猜测是您的 LDAP 提供的用户名格式与您预期的不同(可能是电子邮件地址等),因此它们不匹配。

    检查您的 apache 错误日志是否有任何有趣的内容,并考虑更改日志格式以记录 $REMOTE_USER 环境用户以查看匹配的内容。此外,如果您不使用 SSL 连接,请确保您的 push_ssl 值设置为 false(尽管您应该这样做)。

    【讨论】:

    • 如果我使用 hgweb.config 我只能使用正确的用户名推送。如果我在 hgrc 文件上写了任何 allow_push 我不能做任何推送...
    • 记录 $REMOTE_USER 怎么样?我想是%upush_ssl 设置为什么?你在使用 SSL 吗?
    【解决方案2】:

    当你的 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-16
      • 2011-09-13
      • 2016-11-29
      • 2016-02-01
      • 2020-09-23
      • 2010-12-05
      • 2011-06-14
      • 2015-01-10
      相关资源
      最近更新 更多