Ceph - установить CORS через s3 java API - PullRequest
0 голосов
/ 16 марта 2020

мы используем 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?

enter image description here

...