Перекрестный запрос происхождения заблокирован для s3
У меня есть заранее назначенный URL и политика (созданная на django) для загрузки объекта в S3 непосредственно из JavaScript. Он работает как ожидалось во время разработки и на локальном сервере. Как только я загружаю на хост и сервер онлайн, он выдает мне ошибку cross origin request blocked в Firefox и в chrome, он говорит, что запрос был прерван. Я также разрешил все домены на bucket. Я даже сделал bucket публичным. Ниже приведена моя политика bucket и политика cors. Я был бы очень рад найти решение этой проблемы.
Политика ведра
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1621532678577",
"Effect": "Allow",
"Principal": "*",
"Action": [
"s3:PutObject",
"s3:GetObjectAcl",
"s3:GetObject",
"s3:ListBucket",
"s3:DeleteObject",
"s3:PutObjectAcl"
],
"Resource": [
"arn:aws:s3:::[bucketname]/*",
"arn:aws:s3:::[bucket-name]"
]
}
Кросс-оригинальный обмен ресурсами (CORS)
[
{
"AllowedHeaders": [
"*"
],
"AllowedMethods": [
"PUT",
"HEAD",
"POST",
"DELETE"
],
"AllowedOrigins": [
"*"
],
"ExposeHeaders": [
"x-amz-server-side-encryption",
"x-amz-request-id",
"x-amz-id-2"
]
}
JavaScript функция