Как назначить субдомен для ведра s3?
Доброе утро,
Я использую ведро amazon s3 в качестве сервера изображений.
И я хочу использовать субдомен моего сайта, как обращаться с этим ведром.
например: картинка теперь находится в https://s3-sa-east-1.amazonaws.com/nomeBucket/pasta/imag.png, и я получаю доступ к ней по этой же ссылке.
Было бы так: imagens.mydomain.com.br/folder/imag.png
Есть ли способ сделать это? назначить адрес поддомена в ведро?
Я пробовал маршрут амазонки 53, как CNAME. Я пробовал это: https://s3-sa-east-1.amazonaws.com/nomeBucket/
Вчера я прошел тест, но, видимо, это не сработало.
Кто-то уже сделал что-то подобное и/или знает, как мне помочь?
Примечание. Я использую nginx. также нужно настроить его для субдомена?
Спасибо
Ответы
Ответ 1
Вам нужно переименовать свое ведро в соответствии с пользовательским именем домена (например, imagens.mydomain.com.br
) и настроить этот домен как CNAME на
<bucket-name>.s3.amazonaws.com.
(в вашем случае imagens.mydomain.com.br.s3.amazonaws.com.
Полные инструкции доступны здесь:
http://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html
Ответ 2
Я собираюсь основываться на других ответах здесь для полноты.
Я переместил свое ведро на поддомен, чтобы содержимое могло кэшироваться Cloudflare.
- Старый S3 Bucket Name: автоавтобусы
- Новое имя S3 Bucket: img.autoauctions.io
- Запись CNAME: img.autoauctions.io.s3.amazonaws.com
Теперь вам нужно скопировать все ваши объекты, так как вы не можете переименовать ведро. Вот как это сделать с помощью AWS CLI:
pip install awscli
aws configure
Теперь вы скопируете содержимое своего старого сегмента в новый.
aws s3 sync s3://autoauctions s3://img.autoauctions.io
Я обнаружил, что это слишком медленно для 1 ТБ изображений, которые мне нужно было скопировать, поэтому я увеличил количество одновременных подключений и повторно запустил экземпляр EC2.
aws configure set default.s3.max_concurrent_requests 400
Синхронизируйте это!
Хотите сделать папки в вашем каталоге общедоступными? Создайте политику bucket, как это:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::img.autoauctions.io/copart/*"
},
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::img.autoauctions.io/iaai/*"
}
]
}
И теперь изображение загружается из img.autoauctions.io
через кеш Cloudflare.
Надеюсь, это поможет некоторым людям!
Ответ 3
Обновление 2019: хостинг AWS SUBDOMAIN в S3
На сегодняшний день были предприняты следующие шаги для создания успешно работающего субдомена для статического веб-сайта AWS S3:
- Создайте корзину с именем субдомена. В этом примере www. Субтест.mysite.com
![aws bucket]()
Примечание: Убедитесь, что на вкладке "Разрешение" ведро:
1. Заблокировать публичный доступ (настройки корзины). 2. Список контроля доступа и политика 3.Bucket соответствующим образом установлены, чтобы убедиться, что корзина общедоступна. (Предполагая, что вы уже сделали это для своего сегмента корневого домена, эти настройки могут быть отражены в этом сегменте субдомена)
![S3 bucket permissions]()
- Загрузите файл index.html в корзину
![index aws bucket]()
- Создайте запись CNAME с вашим провайдером домена
![CNAME record in namecheap]()