2012-03-01 24 views
1

私はrepoごとにアクセスを許可するLDAP認証を持つ水銀サーバーを設定していますので、各リポジトリごとに.hgの下にhgrcを作成しています。.hg/hgrcのallow_pushが機能していないようです。

[web] 
allow_push = user1 

私の問題は、これらのhgrcファイルを使用すると、私はどのユーザーでもプッシュできない(中止:認証に失敗した)ということです。私がhgweb.configを使用しているだけで問題なく処理できます

助けが必要ですか?

おかげ

答えて

2

あなたがで任意のユーザーまたはあなたが一覧表示だけのものをプッシュすることができ、あなたのhgweb.configファイルにこれらの行を入れて?私の推測では、あなたのLDAPは予想通りに(おそらく電子メールアドレスなどで)フォーマットされたユーザー名を提供しているため、一致していないと考えられます。

Apacheのエラーログで何か面白い点を確認し、一致するものが表示されるようにログの形式を変更して$REMOTE_USER環境のユーザーを記録することを検討してください。また、SSL接続を使用していない場合は、push_sslの値がfalseに設定されていることを確認してください。

+0

私はhgweb.config使用している場合、私はすることができます正しいユーザー名だけを押してください。 hgrcファイルにallow_pushを書き込むと、プッシュはできません。 –

+0

$ REMOTE_USERのログはどうですか?私はそれが '%u 'だと思う。 'push_ssl'は何に設定されていますか? SSLを使用していますか? –

1

HTTPサーバーはnginxの場合は、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"'; 

を見つけるためにlog_formatを変更し、nginxのログファイルを参照してください

cat /var/log/nginx/nginx.log 
関連する問題