لماذا يتم رفض نقطة نهاية S3 الخاصة بـ iDrive بواسطة Discourse؟

بالنظر إلى المدقق، فإنه:

  s3_endpoint:
    default: ""
    regex: '^https?:\/\/.+[^/]$'

لذلك، فإن التحقق من القيمة التي أدخلتها يظهر أنها على ما يرام تمامًا:

[1] pry(main)> 'https://b1v7.or.idrive2-51.com'.match /^https?:\/\/.+[^/]$/
=> #<MatchData "https://b1v7.or.idrive2-51.com">

من الواضح أن لديك شيئًا خاطئًا في الحقل. كما يقترح @pfaffman، تحقق من وجود مسافات.

إذا لم ينجح الأمر بعد، فهل يعمل من وحدة تحكم rails؟

أتوقع أن يفشل هذا:

[1] pry(main)> SiteSetting.s3_endpoint = 'gopher://b1v7.or.idrive2-51.com'
Discourse::InvalidParameters: s3_endpoint: Value doesn't match the required format.
from /home/michael/prog/Discourse/discourse/lib/site_settings/type_supervisor.rb:288:in `validate_value'

ولكن يجب أن يعمل هذا:

[1] pry(main)> SiteSetting.s3_endpoint = 'https://b1v7.or.idrive2-51.com'
=> "https://b1v7.or.idrive2-51.com"
إعجابَين (2)