بعد أن قمت بإعادة البناء من 2.9.0.beta11 (208d22cfc2)، كل الثيمات أو المكونات من GitLab تعطي خطأ 500 عند محاولة التثبيت أو التحديث.
هل هذا خطأ أم مشكلة أمنية؟ إعداداتي لا تحتوي على أي شيء غريب وهي أساسية جدًا.
قد يكون هذا مرتبطًا. ظهر عندما كنت أحاول اختبار تثبيت ثيم:
رسالة (تم الإبلاغ عن نسختين)
فشل في معالجة الاستجابة المختطفة بشكل صحيح: RemoteTheme::ImportError: خطأ في استنساخ مستودع git، تم رفض الوصول أو لم يتم العثور على المستودع.
تتبع الأخطاء
/var/www/discourse/lib/theme_store/git_importer.rb:81:in `raise_import_error!'
/var/www/discourse/lib/theme_store/git_importer.rb:148:in `rescue in clone_http!'
/var/www/discourse/lib/theme_store/git_importer.rb:145:in `clone_http!'
/var/www/discourse/lib/theme_store/git_importer.rb:93:in `clone!'
/var/www/discourse/lib/theme_store/git_importer.rb:18:in `import!'
/var/www/discourse/app/models/remote_theme.rb:82:in `import_theme'
/var/www/discourse/app/controllers/admin/themes_controller.rb:106:in `block in import'
/var/www/discourse/lib/hijack.rb:56:in `instance_eval'
/var/www/discourse/lib/hijack.rb:56:in `block in hijack'
/var/www/discourse/lib/scheduler/defer.rb:94:in `block in do_work'
بيئة التشغيل
HTTP HOSTS: foorumi.katiska.eu
يقوم Gitlab بإعادة توجيه git clone من https://gitlab.com/silentboatman/discourse-masonry-image-gallery إلى https://gitlab.com/silentboatman/discourse-masonry-image-gallery.git/ (ملاحظة، ينتهي بـ .git/) باستخدام 301، ولكن يتم استدعاء git باستخدام -c http.followRedirects=false لذلك يفشل.
إدخال https://gitlab.com/silentboatman/discourse-masonry-image-gallery.git/ كعنوان URL للمستودع مباشرة لا يعمل لأنه يتم التراجع عنه إلى https://gitlab.com/silentboatman/discourse-masonry-image-gallery بواسطة FinalDestination.resolve(@uri.to_s) لأنه، لن تصدق، عند طلبه خارج 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
(بالإضافة إلى ذلك، يبدو أن معظم الإجراءات التي تسبب خطأ الآن عند إضافة مستودع تعرض نافذة منبثقة تحتوي فقط على النص “500 Server Error” بدلاً من رسالة خطأ فعلية)
نعم، كان من المفترض أن يقوم هذا الالتزام بإصلاح جلب البيانات من gitlab. لقد جربته للتو وأنا قادر على استنساخ مستودعات gitlab الآن، سواء عبر SSH أو عبر HTTP. هل يمكنك تقديم المزيد من التفاصيل حول ما تفعله بالضبط والذي لا يعمل؟
https://gitlab.com/silentboatman/discourse-masonry-image-gallery/ – خطأ https://gitlab.com/silentboatman/discourse-masonry-image-gallery – خطأ https://gitlab.com/silentboatman/discourse-masonry-image-gallery.git – يعمل
هذا يعني أنك ستحتاج إلى إزالة وإعادة إضافة مكونات السمات التي تحتوي على أحد التنسيقين الأولين، ونسخ الإعدادات. ولكن سيكون من الرائع جدًا إذا تم دعم هذين التنسيقين أيضًا.