Почему конечная точка S3 iDrive отклоняется Discourse?

Какой формат требуется?
Или первый вариант на скриншоте поддерживает только Amazon AWS S3?

Работает ли это, если просто указать имя хоста?

Вы имеете в виду, что нужно просто указать (https://)idrivee2-51.com в URL S3 CDN?
Нет, это тоже выдает ту же ошибку.

У вас есть пробелы в конце строки?

Судя по валидатору, он выглядит так:

  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"

Нет. Совсем нет.

Но меня удивляет, что сегодня он принял то же самое значение, которое раньше никогда не принимал (до сегодняшнего дня я всегда просто копировал значение с помощью кнопки «Копировать» на сайте IDrive и вставлял его сюда, и сегодня я сделал то же самое).

И сейчас, похоже, он иногда отказывается принимать значение, которое только что принимал.
Но в целом по этому вопросу у меня теперь всё в порядке.

Спасибо, теперь всё в порядке.

Но скажите, пожалуйста, что мне указать (или оставить пустым) в поле S3 CDN url?
Там уже заполнено значение из предыдущих времен AWS: https://bhdisco.s3.ap-south-1.amazonaws.com/uploads

Вы действительно хотите указать CDN в поле CDN. Вы можете указать URL-адрес бакета, но это будет стоить дороже и работать медленнее.

Хорошо, я понял.
Но всё это кажется настолько громоздким, что я лучше воспользуюсь только рекомендованным провайдером S3-ведер — AWS! Поэтому я снова восстановил свой идентификатор и секретный ключ AWS.

Однако при этом я столкнулся с новой проблемой. Несмотря на то, что я не менял ничего в интерфейсе AWS, кроме ужесточения правил входа, теперь медиафайлы, загруженные в него, видны на моём сайте только если я включу доступ «Чтение» для всех «Публично».
Я не знаю, как это работало раньше, и почему только сейчас мне нужно настроить «Разрешения» содержимого моего ведра следующим образом:

(Оба элемента, выделенные красным, были изменены мной; иначе я даже не могу просмотреть свои собственные загрузки)

Если вы не настроили CDN перед вашим хранилищем бакетов, оставьте это поле пустым.