мы используем ceph и radosgw , чтобы получить доступ к нашей истории через API s3 java. Когда мы пытаемся установить правило CORS, API java возвращает AmazonS3Exception (вывод «null») с кодом ошибки Malformed XML (отладка показывает, что ни одно из полей моих CORSRule объектов имеет нулевое поле).
Я точно следовал указаниям s3: https://docs.amazonaws.cn/en_us/AmazonS3/latest/dev/ManageCorsUsingJava.html
Это моя реализация:
private void setCORS() {
List<CORSRule> corsRules = new ArrayList<>();
corsRules.add(new CORSRule().withAllowedOrigins(Arrays.asList("*ROCKET_CHAT_DOMAIN*")). //
withAllowedMethods(Arrays.asList(AllowedMethods.PUT, AllowedMethods.POST, AllowedMethods.GET, AllowedMethods.HEAD)). //
withMaxAgeSeconds(3000). //
withAllowedHeaders(Arrays.asList("*")));
s3Client.setBucketCrossOriginConfiguration(cephBucket, new BucketCrossOriginConfiguration(corsRules));
}
Странно, что инструмент windows Браузер S3 возвращает точно такой же результат, когда я пытаюсь создать правило CORS.
У кого-нибудь есть опыт установки правил CORS с помощью radosgw в ceph ? Оптимально использовать библиотеки S3?