おはようございます、
イメージサーバーとしてAmazon s3バケットを使用しています。そして、私は自分のサイトのサブドメイン、このバケットに対処する方法を使用したいと思います。例:画像は次の場所にあります: https://s3-sa-east-1.amazonaws.com/nomeBucket/pasta/imag.png 、この同じリンクからアクセスします。
それはそうでしたか:imagens.mydomain.com.br/folder/imag.pngこれを行う方法はありますか?バケットにサブドメインアドレスを指定しますか? CNAMEとして、Amazonルート53を試しました。私はこれを試しました: https://s3-sa-east-1.amazonaws.com/nomeBucket/
私は昨日テストを受けましたが、どうやらうまくいきませんでした。誰かがすでに似たようなことをしている、および/または私を助ける方法を知っていますか?
注:私はnginxを使用しています。サブドメイン用に構成する必要もありますか?
ありがとうございました
カスタムドメイン名と一致するようにバケットの名前を変更する必要があります(例: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
完全を期すために、ここで他の回答に基づいて説明します。
コンテンツをCloudflareでキャッシュできるように、バケットをサブドメインに移動しました。
バケットの名前を変更できないため、すべてのオブジェクトをコピーする必要があります。 AWS CLIでこれを行う方法は次のとおりです。
pip install awscli
aws configure
次に、古いバケットの内容を新しいバケットにコピーします。
aws s3 sync s3://autoauctions s3://img.autoauctions.io
コピーする必要のある1 TBのイメージに対してこれは遅すぎることがわかったため、同時接続の数を増やし、EC2インスタンスから再実行しました。
aws configure set default.s3.max_concurrent_requests 400
同期してください!
バケット内のフォルダーを公開しますか?次のようなバケットポリシーを作成します。
{
"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のキャッシュ経由。
これが一部の人々に役立つことを願っています!
Update 2019:AWS SUBDOMAIN hosting in S3
今日の時点で、AWS S3がホストする静的ウェブサイトのサブドメインが正常に機能するように次の手順が機能しました。
注:バケットの[権限]タブで確認してください:
1.Block public access(バケット設定)2.Access Control List&3.Bucketポリシーが適切に設定され、バケットがパブリックであることを確認します。 (ルートドメインバケットに対して既にこれを行っていると仮定すると、これらの設定はこのサブドメインバケットにミラーリングできます)