Diğer adı Hedef 53’den S3’e takmaya çalışırken hedef mevcut değil


21

Burada açıklandığı gibi basit bir Amazon AWS S3 tabanlı web sitesi kurmaya çalışıyorum .

S3 kovasını kurdum (simples3websitetest.com), (umarım) doğru izinleri verdim:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AddPerm",
            "Effect": "Allow",
            "Principal": {
                "AWS": "*"
            },
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::simples3websitetest.com/*"
            ]
        }
    ]
}

İndex.html'i yükledim, web sitesine erişim ayarını yaptım ve http://simples3websitetest.com.s3-website-us-west-2.amazonaws.com/index.html adresinden erişilebilir

Şimdiye kadar çok iyi, şimdi Amazon Route53 erişimini ayarlamak istiyorum ve burası sıkışıp kaldığım yer.

Sahip olduğum bir etki alanında barındırılan bir bölge ayarladım (resourcesbox.net) ve "kayıt kümesi oluştur" u tıklattım ve "takma takma adı" adımına ulaştım, ancak S3 web sitesi bitiş noktaları altında "hedef yok" diğer adı hedef belirlemeye çalışın.

Ne kaçırdım??


Ekim 2012'den itibaren Amazon, S3 kovaları için yönlendirmeleri (HTTP 301) işleme fonksiyonunu getirmiştir. Önceki cevabımı buradan okuyabilirsiniz. stackoverflow.com/a/24218895/1160780
Alberto Spelta

Yanıtlar:


33

Oluşturduğunuz A kayıt takma adı, kovanın adıyla aynı olmalıdır, çünkü S3'te sanal kovaların barındırılması Host:, tarayıcı tarafından gönderilen başlığın kova adıyla eşleşmesini gerektirir . Sanal kova barındırma işleminin gerçekleştirilebileceği başka bir pratik yol yok ... kova bazı mekanizmalarla tanımlanmalı ve bu mekanizma http başlıklarıdır.

"Example.com" etki alanı içindeki bir kovaya bir takma ad oluşturmak için, kova adının yasal olarak bu etki alanı içinde beyan edebileceğiniz bir ana bilgisayar adı olması gerekir ... Route 53 A-Record "testbucket.example .com, "örneğin, yalnızca " testbucket.example.com "... adında bir kovaya diğer adı olabilir ve başka bir kova kullanılamaz.

Sorunuzda bu kısıtlamayı çiğniyorsunuz ... ancak "simples3websitetest.com" alanının (ve tepesinde) sadece "simples3websitetest.com" adında bir kovaya takma ad oluşturabilirsiniz.

Bu, tasarım gereğidir ve tam olarak Route 53 veya S3 ile sınırlı değildir. Sadece işe yaramayan bir şey yapmanı engelliyorlar. Web sunucuları herhangi bir takma ad veya CNAME’den veya DNS’de yapılan herhangi bir şeyden habersiz - yalnızca tarayıcının gönderdiği http başlıklarında tarayıcının bağlanmaya çalıştığına inandığı orijinal ana bilgisayar adını alırlar ... ve S3 bunu kullanır sanal barındırılan isteğin uygulandığı kepçenin adını tanımlayan bilgiler.

Amazon S3, kepçenize etki alanınızla aynı adı vermenizi gerektirir. Bu, Amazon S3'ün, bir kullanıcı web sitenizden içerik istediğinde, web tarayıcıları tarafından gönderilen ana bilgisayar başlıklarını düzgün bir şekilde çözebilmesi içindir. Bu nedenle, etki alanı adınızı kaydetmeden önce Amazon S3'te web siteniz için kovalarınızı oluşturmanızı öneririz.

http://docs.aws.amazon.com/gettingstarted/latest/swh/getting-started-create-bucket.html#bucket-requirements

Ancak, bu kısıtlamanın yalnızca CloudFront'u kepçenizin önünde kullanmadığınızda geçerli olduğunu unutmayın.

CloudFront ile, daha fazla esneklik vardır, çünkü Host:istek S3'e iletilmeden önce başlık yeniden yazılabilir (CloudFront'un kendisi tarafından). CloudFront dağıtımınızdaki "ana bilgisayar ana bilgisayarını", your-bucket.s3-website-xx-yyyy-n.amazonaws.comxx-yyyy-n öğesinin oluşturduğunuz S3'ün AWS bölgesi olduğu şekilde yapılandırın . Bu uç nokta, her bir kova için S3 konsolunda gösterilmiştir.


1
Bu gerçekten sorun oldu, resourcesbox.net adında bir kova oluşturdum ve ortaya çıktı. Teşekkür ederim! Hızlı takip sorusu: Bunun anlamı, o etki alanı için farklı kovalara sahip olmak istersem, her kovaya uygun şekilde alt alanlara sahip olmam gerekir mi? Etrafından başka yolu yok mu?
Amir Zucker

"Alt etki alanlarım olmalı" derken ne demek istediğinizi tam olarak bilmiyorum. Rota 53'te, S3'te bir web sitesine ev sahipliği yapmak için kullanmak istediğiniz her kepçeyle eşleşen bir ana bilgisayar adı olan bir A kaydı oluşturmanız gerekir, evet.
Michael - sqlbot

1
@oberstet bu soru hakkında alias, S3 kovalarına web sitesi barındırma etkinleştirilmiş olarak işaretlenmiş ve DNS'nin REST bitiş noktasına değil, web sitesinin bitiş noktasına çözümlenmesine neden olan Route 53 kayıtları hakkında . Web sitesi uç noktaları SSL'yi hiç desteklemiyor ; sadece REST bitiş noktaları. Ayrıca, tüm joker karakterler yalnızca bir tanesini destekler * ve yalnızca en soldaki ana bilgisayar adı bileşeninde görünebilir, bu gerçekten bir S3 sınırlaması değildir.
Michael - sqlbot

1
@oberstet 6.4.3.1 İstemci, joker karakterin en soldaki etiketten başka bir etiket içerdiği bir tanıtıcıyla eşleşmemelidir. Yani, çok katmanlı bir joker karakter diye bir şey yoktur. Her halükarda, sizin boto konu olan görünüşte yanlış uygulanıyor "çağıran biçimi" seçeneği meselesi. Her kova ilk olarak kepçe adıyla https üzerinden erişilebilir yol S3 URL altında eleman kovanın doğru bölge için ör https://s3-us-west-2.amazonaws.com/my-bucket.with-dots.in-us-west-2/key. Yanlış bölgesel son nokta = yönlendirme hatası.
Michael - sqlbot

1
@MartinLyne teşekkürler. S3 belgelerine, aynı olması gereken alan adı ve alan adı ile ilgili bir açıklama ekledim ve CloudFront kullanarak önceden alınmış bir kova adı için geçici çözümden bahsettim. ABD-doğu-1 ve ABD-batı-2 bölgelerinde ve muhtemelen diğerlerinde, CloudFront'u kullanmanın maliyeti göz ardı edilebilir ve CF indirmeleri bir kenara doğrudan S3'ten bant genişliği üzerinde daha ucuz olduğundan 0.005 $ / GB daha ucuz olduğundan potansiyel olarak biraz tasarruf sağlayabilir. konumları.
Michael - sqlbot

0

Abc.com adresinde barındırılan bir bölgeniz olduğunu varsayalım. ve bir kova abc.com (rota takma adlarında listede görünmeyen) yaratırsınız - öyle olduğunu düşünebilirsiniz. adından sonra - kovaları adlandıramazsınız

Bunu da dene. Çünkü kovayı ilk defa doğru adla yarattım ve hala işe yaramadı. İnan bana, OKB'ye sahibim, bu yüzden bir dolu veya virgül kaçırmamışım.

  1. Abc.com isimli aynı ev sahipli bölge oluştur
  2. Şimdi aynı barındırılan bölgenin 2'sini göreceksiniz (abc.com. Ve abc.com.)
  3. Yenisini silin
  4. Eski barındırılan bölgeye geri dön
  5. S3 uç noktalarının geldiğini görebilirsiniz - bu Route53'te bir sorun olabilir

Bu benim için hemen hemen her şeyi denemek için işe yaradı - Gördüğüm bazı öneriler oturum açmak ve bir tür önbellek için oturum açmaktır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.