AWS S3 CORS блокирует мою загрузку, несмотря на то, что я настроил CORS в консоли AWS - PullRequest
0 голосов
/ 29 октября 2019

Я пытаюсь загрузить изображения в мое хранилище S3 с использованием заранее заданного URL-адреса, но меня блокирует cors.

это моя текущая конфигурация Cors в консоли AWS. Но я пробовал много вещей, таких как добавление заголовка HEAD, используя localhost: 3000, где мое приложение запускается как AllowedOrigin, используя * в AllowedHeader, и некоторые другие вещи, которые я не помню

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
    <AllowedOrigin>*</AllowedOrigin>
    <AllowedMethod>PUT</AllowedMethod>
    <AllowedMethod>GET</AllowedMethod>
    <MaxAgeSeconds>3000</MaxAgeSeconds>
    <AllowedHeader>Content-Type</AllowedHeader>
</CORSRule>
</CORSConfiguration>

Вот конечная точка, где я генерирую предопределенный URL. Он работает нормально и возвращает URL

router.post(
        '/upload/:type',
        ({ params, body }, res) => {
            const key = `${params.type}/${uuid()}.jpeg`;
            console.log(body)
            storage.getSignedUrl(
                'putObject',
                {
                    Bucket: 'beautyfit-development',
                    ContentType: body.fileType ,
                    Key: key
                },
                (err, url) => {
                    if (err) return res.status(500).send(JSON.stringify(err));

                    res.send({ key, url })
                }
            );
        }
    );

. Эту функцию я использую, чтобы сделать запрос

const uploadFileService = (signedUrl, file) => {
    return axios.put(signedUrl, file, {
        headers: {
            'Content-Type': file.type
        }
    });
}

. В консоли axios печатает

xhr.js. : 166 OPTIONS https://beautyfit -development.s3.amazonaws.com / блоги / 4f2ea030-f9ea-11e9-A803-a7ea0b838414.jpeg AWSAccessKeyId = AKIA5MKCI3PY7KCLCF7V & Content-Type = изображение% 2Fjpeg & Истекает = 1572312935 & Подпись = fmgD9e9YUtOtGTNkt1LhwHmjOTM% 3D ? 403 (Запрещено)

А затем

Доступ к XMLHttpRequest по адресу https://beautyfit -development.s3.amazonaws.com / blogs / 4f2ea030-f9ea-11e9-a803-a7ea0b838414. jpeg? AWSAccessKeyId = AKIA5MKCI3PY7KCLCF7V & Content-Type = image% 2Fjpeg & Expires = 1572312935 & Signature = fmgD9e9YUtOtGTNkt1LhwHmjOTM% 3D 'политика не проверена: запрос на проверку не получен: проверка 1025 не проверена: ответ на запрос CORE не проверен: запрос 1025 не проверен: ответ на запрос CORE не был получен: проверка 1025 не была получена из-за того, что проверка не проверена: запрос 1025 не проверен: ответ на запрос CORF не был получен: ответ 10: ** не проверен: не получен запрос на проверку CORE: не проверен 1025 **Заголовок «Access-Control-Allow-Origin» присутствует на запрашиваемом ресурсе.

Какая-то идея, где моя ошибка?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...