2017-11-02 21 views
0

私たちはGerritをインストールして、サーバー上のリポジトリを管理しています。 これまでのところ、すべて正常に動作し、sshを使用してクローンを作成できます。httpのapache2の後ろにあるGerritクローン

Gerritはバージョン2.14.2のApache 2.4.18です。

/media/data/gerrit/etc/gerrit.config

[gerrit] 
    basePath = git 
    serverId = ed5a7ef7-289e-4590-9292-cbdede1b0dc9 
    canonicalWebUrl = http://repository.something.com/gerrit 
[database] 
    type = h2 
    database = /media/data/gerrit/db/ReviewDB 
[index] 
    type = LUCENE 
[auth] 
    type = HTTP 
    logoutUrl = http://[email protected]/gerrit 
[receive] 
    enableSignedPush = false 
[sendemail] 
    smtpServer = mail.something.com 
    from = Code Review <[email protected]> 
[container] 
    javaHome = /usr/lib/jvm/java-8-openjdk-amd64/jre 
    user = administrator 
[sshd] 
    listenAddress = *:29418 
[httpd] 
    listenUrl = proxy-http://127.0.0.1:8081/gerrit 
[cache] 
    directory = cache 
[plugins] 
    allowRemoteAdmin = true 
[download] 
    command = checkout 
    command = cherry_pick 
    command = pull 
    scheme = ssh 
    scheme = http 
[commitmessage] 
    maxSubjectLength = 80 
    maxLineLength = 100 
    longLinesThreshold = 10 
    rejectTooLong = false 
[plugin "emoticons"] 
    showEmoticons = true 
[reviewers] 
    enableREST = true 
    enableUI = true 
    ignoreDrafts = true 
    autoAddReviewers = false 
    maxReviewers = 1 
    enableLoadBalancing = false 
    plusTwoRequired = true 
    plusTwoAge = 8 
    plusTwoLimit = 10 
[gitweb] 
    type = custom 
    linkname = log 
    url = http://repository.something.com/cgit 
    project = /${project}.git 
    branch = /${project}.git/log 
    revision = /${project}.git/commit/?id=${commit} 
    filehistory = /${project}.git/log 
[lfs] 
    plugin = lfs 

/etc/apache2/mods-enable/gerrit.conf:(必要な時に検閲)当社の設定ファイルである

ProxyPassMatch /([[:alnum:]-]+)\.git(.*) http://localhost:8081/gerrit/a/$1.git$2 
ProxyPass   /gerrit http://localhost:8081/gerrit nocanon 
ProxyPassReverse /gerrit http://localhost:8081/gerrit nocanon 
ProxyRequests  Off 

<Proxy http://localhost:8081/gerrit> 
    Order deny,allow 
    Allow from all 
</Proxy> 

<Location /gerrit> 
    AuthType Digest 
    AuthName "gerrit" 
    AuthUserFile /etc/apache2/.htdigest 
    Require valid-user 
</Location> 

私が言ったように、sshを使ったクローンはうまくいきます。しかし、httpを使用してクローンを作成しようとすると、認証エラーが発生します。 mods-enabledの別の設定ファイルでさまざまな設定を試してみましたが、利用可能なサイトもありました。

何が間違っている可能性がありますか?

すでにわかっているように、repository.something.com/gerritを使用してrepository.someting.comにアクセスし、Gerritにアクセスしています。

これらのすべてのApacheの設定のものは私にとって全く新しいもの-.-だから、私は、私はより多くの情報のためにデバッグするApacheのログレベルを変更^^

答えて

0

実際に何をすべきか見当がつかない。

これらは私の試みだった:グローバル.gitconfig

AH01781でそのままTortoiseGitを使用して

  1. クローン:クライアントで使用間違った認証方式 `基本 ':/ヘリット/ A/PluginTester /情報ユーザhanswurst:Pグローバル.gitconfig

    AH01794にそのままGitBashを用い/参考文献

  2. クローンassword不一致:/ヘリット/ A/PluginTester /情報/レフリー

  3. 私はhttp.proxyAuthMethod = .gitconfigに消化し、TortoiseGit

    AH01781で再び試してみました追加:クライアントで使用間違った認証方式 `基本 ':/ヘリット/ A/PluginTester /情報/レフリー

  4. そしてGitのバッシュにも

    AH01794を試してみました:ユーザーblubb:パスワードの不一致:/ヘリット/ A/PluginTester /情報/レフリー

  5. Iドキュメントには、ユーザー名を含むプロキシを使用した場合にのみ動作することが記載されています。だから私はhttpを追加しました。プロキシ= http://[email protected]:80とTortoisegitでもう一度試してください

    AH02422:HTTPリクエストライン; URIは、ユーザー名/パスワードを含めることはできません

  6. とGitBash

    AH02422:HTTPリクエスト行。クライアント:URIは、ドキュメントが、私はまた、TortoiseGit

    AH01781となりましhttp.proxy = http://repository.something.com:80上のプロキシを試してみました 、プロキシがユーザー名を含まなければならないと言ったとしてもというユーザー名/パスワードを

  7. を含めることはできません使用間違った認証方式 `基本 ':/ヘリット/ A/PluginTester /情報/レフリー

  8. そしてGitBash

    • AH01626:VALIを必要とする認証結果D-ユーザー:拒否された(まだありませ認証されたユーザ)
    • AH01626:の許可結果:の認証結果の有効なユーザーが必要::(まだありませ認証されたユーザ)拒否された
    • AH01626は
    • を付与し
    • AH01626:認証結果の:付与された
    • AH01143:スキームHTTPハンドラを実行する(試み0)
    • AH00942:HTTP:用の接続を取得した(ローカルホスト)localhostへhttp://localhost:8081/gerrit/a/PluginTester/info/refs?service=git-upload-packを結ぶ :?8081 接続/ヘリット/ A/PluginTester /情報/レフリーサービス= git-upload-pack to localhost:8081
    • AH00943:HTTPは:ダイジェストはもう使わないのでポイント7は、私が期待したものである

(ローカルホスト)の接続をリリースしました。 しかし、サーバ上では私にとってはうまく見えますが、クライアントは引き続き「認証に失敗しました」

関連する問題