#php #amazon-web-services #svg #amazon-s3
#php #amazon-веб-сервисы #svg #amazon-s3
Вопрос:
Привет, я пытаюсь получить данные с s3 на своем сайте, все работает хорошо, но шрифты не отображаются. Вот моя политика
{
"Version": "2008-10-17",
"Id": "http referer policy example",
"Statement": [
{
"Sid": "Allow get requests originated from 54.148.239.58",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::bucket/*",
"Condition": {
"StringLike": {
"aws:Referer": [
"https://s3-us-west-2.amazonaws.com/bucket/*",
"http://54.148.239.58/*"
]
}
}
}
]
}
Вывод: —
http://54.148.239.58/s3_file_exit_ck1.php?link=663amp;page=4
Я не знаю, что я делаю не так.
Если я удалю https://s3-us-west-2.amazonaws.com/bucket /* из политики .svg-файлы не отображаются.
Но это не работает,
@font-face {
font-family: ZapfDingbatsStd_2b4;
src: url("https://s3-us-west-2.amazonaws.com/htmlmanuals/663/fonts/ZapfDingbatsStd_2b.woff") format("woff");
}
он работает на локальном хостинге.
пожалуйста, помогите
Ответ №1:
Согласно консоли в моем веб-браузере, когда я захожу на вашу страницу, появляется сообщение об ошибке:
Шрифт из источника ‘https://s3-us-west-2.amazonaws.com ‘ был заблокирован от загрузки политикой совместного использования ресурсов разных источников: заголовок ‘Access-Control-Allow-Origin’ отсутствует на запрошенном ресурсе. Происхождение ‘http://54.148.x.x «следовательно, доступ к нему запрещен.
Похоже, что страница из одного домена ( s3-us-west-2.amazonaws.com
) пытается ссылаться на данные из другого домена ( 54.148.x.x
). Это запускает проверки совместного использования ресурсов (CORS) в браузере.
Вам нужно будет настроить правила CORS для разрешения доступа.
Из документации по совместному использованию ресурсов (CORS):
Совместное использование ресурсов разных источников (CORS) определяет способ взаимодействия клиентских веб-приложений, загруженных в одном домене, с ресурсами в другом домене. Благодаря поддержке CORS в Amazon S3 вы можете создавать расширенные клиентские веб-приложения с помощью Amazon S3 и выборочно разрешать доступ из разных источников к вашим ресурсам Amazon S3.
Вам нужно будет добавить политику в свою корзину S3, чтобы разрешить страницам из 54.148.x.x
доступа к ресурсам корзины.