iDrive의 S3 엔드포인트가 Discourse에서 거부되는 이유는?

이것에는 어떤 형식이 필요합니까?
아니면 스크린샷의 첫 번째 옵션은 Amazon AWS S3만 허용하나요??

호스트 이름만 입력하면 작동하나요?

S3 CDN URL에 (https://)idrivee2-51.com만 입력하면 된다는 말씀이신가요?
아니요, 그거에도 같은 오류가 발생했습니다.

끝에 공백이 있나요?

검증기를 살펴보면 다음과 같습니다:

  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 ID와 시크릿을 복원했습니다.

그러다 새로운 장벽에 부딪혔습니다. AWS 인터페이스 내부에서 로그인 방식을 더 엄격하게 설정한 것을 제외하고는 아무것도 변경하지 않았는데, 이제 미디어 업로드가 제 웹사이트에서 'Public’에 대한 ‘Read’ 접근을 켜둔 경우에만 표시됩니다.
이전에 어떻게 작동했는지 모르겠고, 왜 지금에 와서야 버킷 내용을 다음과 같이 'Permissions’로 설정해야 하는지 궁금합니다:

(빨간색으로 표시된 두 항목은 제가 방금 변경한 것입니다. 이렇게 하지 않으면 제 자신의 업로드조차 미리보기가 되지 않습니다.)

버킷 스토어 앞에 CDN을 구성하지 않았다면, 해당 필드를 비워 두세요.