質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

GitBucket

GitBucketとはScalaで実装され、Java仮想マシンで動作するリポジトリ管理ツールです。Webブラウザから管理することができます。 「GitHubクローン」と謳うだけあり、GitHubとよく似たUIを持ちます。

Q&A

解決済

1回答

541閲覧

【GitBucket】AWS CodeCommitへアクセス経験があるPCにて、GitBucketからのCloneができない

nike13zk80

総合スコア1

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

GitBucket

GitBucketとはScalaで実装され、Java仮想マシンで動作するリポジトリ管理ツールです。Webブラウザから管理することができます。 「GitHubクローン」と謳うだけあり、GitHubとよく似たUIを持ちます。

0グッド

0クリップ

投稿2023/09/29 14:51

編集2023/09/30 00:41

お世話になります。
以下、GitBucketへの接続およびプロジェクトCloneについて、皆様の知見をお借りしたく存じます。

背景および動作環境

AWS CodeCommitへのアクセスをおこなっているプロジェクトから、
管理形態の変更のためオンプレ環境にGitbucketを構築し、運用することを検討しております。

検証中の動作環境は以下の通りになります。
【GitBucket環境1】
・サーバー:Windows Server2016(Hyper-V)
・GitBucket:Ver.4.39.0
・Webコンテナ:Tomcat Ver9.0.72
・Proxy接続有

【GitBucket環境2】
・サーバー:CentOS7(VM Ware)
・GitBucket:Ver.4.39.0
・Webコンテナ:Tomcat Ver9.0.80

【クライアント環境】
・OS:Windows10 22H2
・Git:Ver2.42.0
・クライアントツール:TortoiseGit、SourceTree

【その他前提情報】
・既存プロジェクトでAWS CodeCommitを使用(3年程度)
・Windows資格情報はCodeCommitへの接続情報有
・CodeCommitからのクローンはHTTPSで実行、SSH登録なし

発生している問題・エラーメッセージ

GitbucketからのGit Clone(HTTP利用)を実行した際、以下の通りのエラーが生じます

fatal: unable to access 'http://サーバーIP:Port/XXX.git': The requested URL returned error: 403

現在、このエラーに対して判明していることは以下の通りです

  • リストAWS CodeCommitのアカウントを持っている、またはAWS CodeCommitからのClone実績があるPCにて、 GitBucketでのCloneを行うと発生する(当方含め、5台のPCで同じエラーの発生。各AWS CodeCommitのIAMアカウントは別)
  • 上記に該当しない場合、正常にCloneおよびcommit、pushが可能(検証は3台にて実施。3台とも少なくともcloneまでは確認済)
  • AWS CodeCommitのアカウントを持っているPCで、ローカルユーザーを別に作成し、そのローカルユーザーからGit Cloneを実施した場合、エラーが生じたPCからでもCloneが可能(検証は当方の1台のみ)

試したこと

以下をすべて実施し、すべてにおいて解決に至りませんでした。

  • ~/.gitconfigにGitBucketサーバーについてのcredential情報を追加
  • Windows資格情報からAWS CodeCommitの資格情報を削除
  • Windows資格情報にGitBucketの資格情報を手動追加
  • Git bash、Tortoise Git、source treeからのClone(クライアントツールの際を疑っての実施)
  • グローバル設定用の.gitconfigの内容を削除&name、emailのみにして再起動(2023/09/30

09:41内容追加)

  • Gitクライアントツール、Git本体、AWS用のデスクトップアプリケーションをすべてアンインストールおよびGitフォルダを削除。その後、Gitのみ再インストール
  • ~/AppData以下からGit、AWSに関与すると思われるフォルダの退避および削除

以上から、レジストリ等にAWS CodeCommitのアカウントが張り付いている?等も疑っております。
※レジストリに対しての知見がほとんどないため、レジストリエディタ内での検索やキー、値変更は未実施
その他、試すべき点、修正すべき点がありましたらご教示いただけますと幸甚です。

補足情報

  • GitBucket環境2は当方PC上にVM Wareを立ち上げ、その中で稼働

 →Proxy設定がある環境内のためか?ということを疑っての検証環境

以上、皆様のお知恵を拝借したく存じます。
また、当方は本投稿が初登校のため、至らぬ点等あるかと存じますので、不足点等ございましたらご教示いただけますと幸甚です。
なにとぞよろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nike13zk80

2023/09/30 00:40

hoshi-takanori様 ご指摘ありがとうございます。 書きそびれておりましたが、グローバル設定の.gitconfigは内容をすべて削除し、nameとemailのみの設定にして実行も試しております。 ご教示いただいた内容は今から拝見しますが、.gitconfigに書き込まれていなければ影響はないものと予想しておりました
nike13zk80

2023/09/30 04:51

hoshi-takanori様 ご回答ありがとうございます。 当該記事を確認し、トライいたします。結果については別途こちらで追記致します。
nike13zk80

2023/10/01 06:44 編集

実行結果を以下の通りに取得しました (SourceTreeにて実行) コマンド: git -c diff.mnemonicprefix=false -c core.quotepath=false --no-optional-locks ls-remote http://[サーバーIP:Port]/XXX.git 出力: エラー: 14:56:35.160527 http.c:845 == Info: processing: http://[サーバーIP:Port]/XXX.git/info/refs?service=git-upload-pack 14:56:35.164517 http.c:845 == Info: Couldn't find host [サーバーIP] in the (nil) file; using defaults 14:56:35.284232 http.c:845 == Info: Trying [Proxyデフォルトゲートウェイ]:[Proxyポート]... 14:56:35.426896 http.c:845 == Info: Connected to [Proxyアドレス] ([Proxyデフォルトゲートウェイ]) port [Proxyポート] 14:56:35.427937 http.c:792 => Send header, 0000000297 bytes (0x00000129) 14:56:35.427937 http.c:804 => Send header: GET http://[サーバーIP:Port]/XXX.git/info/refs?service=git-upload-pack HTTP/1.1 14:56:35.427937 http.c:804 => Send header: Host: [サーバーIP:Port] 14:56:35.427937 http.c:804 => Send header: User-Agent: git/2.42.0.windows.2 14:56:35.427937 http.c:804 => Send header: Accept: */* 14:56:35.427937 http.c:804 => Send header: Accept-Encoding: deflate, gzip, br, zstd 14:56:35.427937 http.c:804 => Send header: Proxy-Connection: Keep-Alive 14:56:35.427937 http.c:804 => Send header: Pragma: no-cache 14:56:35.427937 http.c:804 => Send header: Git-Protocol: version=2 14:56:35.427937 http.c:804 => Send header: 14:56:35.495587 http.c:845 == Info: HTTP 1.0, assume close after body 14:56:35.495587 http.c:792 <= Recv header, 0000000024 bytes (0x00000018) 14:56:35.495587 http.c:804 <= Recv header: HTTP/1.0 403 Forbidden 14:56:35.495587 http.c:792 <= Recv header, 0000000028 bytes (0x0000001c) 14:56:35.495587 http.c:804 <= Recv header: Server: squid/2.6.STABLE21 14:56:35.495587 http.c:792 <= Recv header, 0000000037 bytes (0x00000025) 14:56:35.495587 http.c:804 <= Recv header: Date: Sun, 01 Oct 2023 05:56:35 GMT 14:56:35.495587 http.c:792 <= Recv header, 0000000025 bytes (0x00000019) 14:56:35.495587 http.c:804 <= Recv header: Content-Type: text/html 14:56:35.495587 http.c:792 <= Recv header, 0000000022 bytes (0x00000016) 14:56:35.495587 http.c:804 <= Recv header: Content-Length: 1172 14:56:35.495587 http.c:792 <= Recv header, 0000000040 bytes (0x00000028) 14:56:35.495587 http.c:804 <= Recv header: Expires: Sun, 01 Oct 2023 05:56:35 GMT 14:56:35.495587 http.c:792 <= Recv header, 0000000036 bytes (0x00000024) 14:56:35.495587 http.c:804 <= Recv header: X-Squid-Error: ERR_ACCESS_DENIED 0 14:56:35.495587 http.c:792 <= Recv header, 0000000028 bytes (0x0000001c) 14:56:35.495587 http.c:804 <= Recv header: X-Cache: MISS from unknown 14:56:35.495587 http.c:792 <= Recv header, 0000000040 bytes (0x00000028) 14:56:35.495587 http.c:804 <= Recv header: X-Cache-Lookup: NONE from unknown:8080 14:56:35.495587 http.c:792 <= Recv header, 0000000025 bytes (0x00000019) 14:56:35.495587 http.c:804 <= Recv header: Proxy-Connection: close 14:56:35.495587 http.c:792 <= Recv header, 0000000002 bytes (0x00000002) 14:56:35.495587 http.c:804 <= Recv header: 14:56:35.495587 http.c:845 == Info: Closing connection fatal: unable to access 'http://[サーバーIP:Port]/XXX.git/': The requested URL returned error: 403
hoshi-takanori

2023/10/01 08:06

なるほど、proxy 経由なんですね。そして、いきなり 403 Forbidden か…。(それにしても Squid 2.6 ってだいぶ古いような。) こちらで github に対して試したところ、まず 401 (Unauthorized) が返って、それに対して Authorization: Basic 〜 ヘッダー付きのリクエストを再送するはずですが。 とりあえず、git clone に成功した環境でも GIT_CURL_VERBOSE を設定して、ログを見比べたら何か分かるかも? (私もそんなに詳しくないので、ログを貼られても分かるかどうかはわかりませんが…。)
nike13zk80

2023/10/03 16:26

遅くなり申し訳ございません。 解決に至りました。解凍に記載します
guest

回答1

0

自己解決

解決に至りました。

最終的にはSourcetreeからプロキシの情報を削除し、グローバル設定の.gitconfigから情報をなくすことで結論に至りました。
明確な理由については不明ですが、現状ではこの方法で解決となり、cloneおよびpull,pushが可能となりました。
ありがとうございました。

投稿2023/10/03 16:34

nike13zk80

総合スコア1

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問