GitLabのテーマ/コンポーネントのインストール/アップデート時にエラー500が発生します

ほぼ確実にSSRF保護の修正によるものです。

Gitlabはgit clonehttps://gitlab.com/silentboatman/discourse-masonry-image-galleryからhttps://gitlab.com/silentboatman/discourse-masonry-image-gallery.git/(注意:末尾が.git/)へ301リダイレクトしますが、gitは-c http.followRedirects=falseで呼び出されるため失敗します。

リポジトリURLとしてhttps://gitlab.com/silentboatman/discourse-masonry-image-gallery.git/を直接入力しても機能しません。なぜなら、FinalDestination.resolve(@uri.to_s)によってhttps://gitlab.com/silentboatman/discourse-masonry-image-galleryに戻されてしまうからです。信じられないかもしれませんが、git以外でリクエストされた場合、リダイレクトは逆方向に機能します!Gitlabはhttps://gitlab.com/silentboatman/discourse-masonry-image-gallery.git/https://gitlab.com/silentboatman/discourse-masonry-image-galleryへ302リダイレクトします。

編集:GIT_CURL_VERBOSE=1を使用して、gitがクローン時にinfo/refs?service=git-upload-packを付加していることがわかりました。したがって、

GET /silentboatman/discourse-masonry-image-gallery/info/refs?service=git-upload-pack HTTP/2

location: https://gitlab.com/silentboatman/discourse-masonry-image-gallery.git/info/refs?service=git-upload-pack

へ行きます。

「いいね!」 5