Amazon S3'te statik barındırma - DNS Yapılandırması


117

Küçük bir web uygulaması üzerinde çalışıyorum (tümü istemci tarafında) Onu Amazon S3'te barındırmak istiyorum. Bununla ilgili birkaç kılavuz buldum ve kendime bir paket oluşturmayı (etki alanımla aynı adla), bir web sitesi olarak ayarlamayı ve bazı içerikler yüklemeyi başardım.

Mücadele ettiğim ve tüm belgelerin biraz belirsizleşmeye başladığı yer, DNS'mi doğru şekilde nasıl yapılandıracağımdır.

Alan adı kayıt kuruluşumun ( 123-kayıt ) önerebileceği tek şey, bana alanadim.com'u veren web yönlendirmesiydi. S3.amazonaws.com

Neyi yapılandırmam gerekiyor ve nereden (ör. 123-reg / Amazon) temiz bir URL alabilirim?


Bu soru sorulduğundan beri işler değişti. Artık sitenizi bir kök alan adı ile S # üzerinde barındırmak mümkün, buradan ilerlemek için bakın: docs.aws.amazon.com/AmazonS3/latest/dev/…
pors

Yanıtlar:


248

İşin çoğunu zaten yapmışsınız gibi görünüyor. Anlaşılır olması için, doğru şekilde ayarlandığınızdan emin olmak için bu adımları tekrar gözden geçireceğim:

  1. Alan adınızı grup adı olarak kullanarak bir s3 grubu oluşturun (sitenizin example.com veya www.example.com olmasını istiyorsanız paket adınız www.example.com olmalıdır)

  2. İçeriğinizi s3 paketine yükleyin. Web sitesi dizin dosyalarınız için tutarlı bir ad seçin (genellikle index.html). 404 Bulunamadı hataları için özel bir sayfa da yükleyebilirsiniz. Bunu 404.html olarak adlandırın. Herkesin görüntüleyebilmesi için web sitenizdeki her dosyaya Okuma izinleri verin. Pakete fazladan izin vermeyin, yalnızca içindeki dosyalara.

  3. Paketinizi bir web sitesi olarak yapılandırın. AWS konsoluyla ( https://console.aws.amazon.com/s3/ ) paketinizi seçebilir, özellikleri tıklayabilir ve ardından "Web Sitesi" sekmesini seçebilirsiniz. Etkin'i tıklayın ve dizin belgenizi "index.html" ve hata belgenizi "404.html" olarak ayarlayın. Ayrıca web üzerinden erişime izin vermek için paketinizi erişim izinleriyle ayarlamanız gerekecektir ( http://docs.amazonwebservices.com/AmazonS3/latest/dev/WebsiteAccessPermissionsReqd.html )

  4. Web sitesi yapılandırma sekmesindeki "Uç Nokta" URL'sini bir yere not edin. Burası web sitenizin yaşadığı yerdir. Bağlantıyı yeni bir pencerede açabilirsiniz ve web sitenizi görüneceği gibi görmelisiniz. Etrafı tıklayın ve her şeyin beklendiği gibi çalıştığından emin olun.

Aşağıdaki tüm adımlarda uç nokta adresini kullanmanız GEREKİR. Normal www.example.com.s3.amazonaws.com çalışmaz - bölgesel sürümü kullanmanız gerekir ( http://www.example.com.s3-website-us-east-1.amazonaws.com/ )

Şimdi, size temiz, özel bir URL vermek için DNS'yi kurabiliriz.

İlk olarak, www.example.com'u sitenize eşleyeceğiz.

DNS sağlayıcınızın araçlarını kullanarak (sizin durumunuzda 123-reg), www.example.com'u www.example.com ile eşleştirmek için bir CNAME kaydı oluşturmanız gerekir.s3-website-us-east-1.amazonaws.com

Yalnızca www.example.com'u istiyorsanız CNAME ihtiyacınız olan tek şeydir. Çoğu kişi ayrıca "example.com" un çalışmasını ister, bu nedenle başka bir adıma ihtiyacımız var.

example.com, genellikle açık alan adı veya alanın tepe kaydı olarak anılır. Bunun bir sorun olmasının nedeni, CNAME olamamasıdır. CNAME'ler yalnızca "www." Gibi alt alan adlarında çalışır. Bu, s3'ü göstermeyi daha zor hale getirir.

Genel yaklaşım, example.com'a giden herhangi bir isteği www.example.com'u işaret edecek şekilde otomatik olarak yeniden yönlendirmek için bir hizmet kullanmaktır. Bu daha sonra CNAME kaydınızı alır ve siteniz s3'ten sunulur.

Düz eski DNS ile otomatik yeniden yönlendirme mümkün değildir, bu nedenle başka bir hizmet kullanmanız gerekir. Bazı DNS sağlayıcıları bu hizmeti DNS'leriyle birlikte sunar (godaddy sağlar, amazon route53 sağlamaz. 123-reg konusunda emin değilim)

DNS sağlayıcınız bunu yapmazsa, birkaç ücretsiz hizmet vardır. Kullandığım http://wwwizer.com/naked-domain-redirect - herhangi bir kayıt veya ödeme gerektirmez.

Bu tür bir hizmeti kullanmak için açık alan adınız için bir DNS "A" kaydı oluşturmanız gerekir. Wwwizer.com hizmeti için example.com'u 174.129.25.170'e yönlendirmek için bir A kaydı oluşturmanız gerekir. Bu kadar!

Dolayısıyla, bu kurulumla, bir kullanıcı tarayıcısına example.com yazarsa aşağıdakiler gerçekleşir:

  1. DNS sorgusu: example.com -> 174.129.25.170 (wwwizer.com hizmeti)
  2. Example.com için 174.129.25.170'e HTTP isteği
  3. 174.129.25.170, example.com -> www.example.com'u yönlendirir
  4. DNS sorgusu: www.example.com -> CNAME için www.example.com.s3-website-us-east-1.amazonaws.com
  5. DNS sorgusu: www.example.com.s3-website-us-east-1.amazonaws.com -> Amazon S3'e işaret eder
  6. Www.example.com için HTTP isteği artık Amazon S3 tarafından sunulmaktadır

Zevk almak!


2
Tüm bunların netliği için çok teşekkürler! Değişiklikleri yaptım, sadece uygun hale gelmesini bekliyorum, parmaklar çapraz, her şey işe yarayacak.
Merlin Mason

hmmm, hala çalışıyor gibi görünmüyor. İşte DNS yapılandırmasının bir ekran görüntüsü - cl.ly/CP6U Uçtaki nokta şüpheli görünüyor, onu oraya eklemedim ve bu URL'yi, ucunda nokta olan bir tarayıcıya koymak bana bir kova asılsız hatası veriyor. Kaldırmayı denedim, ancak kaydettikten sonra geri geliyor ve / ile değiştirmeyi denedim ama sonra geçersiz bir hata alıyorum. Bunun 123-regs sonunda bir sorun olabileceğini düşünüyor musunuz?
Merlin Mason

Merhaba Merlin, Alan adınızda (wpfill.me) bir arama yapmayı denedim ve ekran görüntünüzde kayıtların hiçbirini göremiyorum. 123-reg'in ayrı bir "yayınla" veya "kaydet" adımı var mı? Yapılandırmanız etkili olmuş gibi görünmüyor.
secretmike

Hmmm, 123-reg ile ilgili bir sorun olması gerektiğini düşünüyorum, DNS kayıtlarını sıfırlamayı denedim ve yayılması için 48 saat bekledim ve hala neşe yok. Daha sonra DNS barındırma hizmetini Cloudflare olarak değiştirdim ve her şeyi 20 dakika içinde çalıştırdım :) Yardımınız için teşekkürler, gerçekten minnettarım!
Merlin Mason


1

Paketinizdeki tüm dokümanları seçmeniz, sağ tıklamanız ve "Herkese Açık Yap" ı seçmeniz gerektiğine inanıyorum. Kovada da bir şey her değiştiğinde bunu yapmalısınız. Daha sonra genellikle pakete sağ tıklarım, özellikleri seçerim, sağ taraftaki bölmede izinleri seçerim ve sonra "Herkes" bir "yetkili" olarak ekledikten sonra onlara yalnızca "liste" izinleri veririm. Makalenizin geri kalanı mükemmel. Açık alan adı ile ilgili kısım yardımcı oldu Sorunlarımı çözüyorum. Açık alan adının S3 içindeki www etki alanına "Statik Web Sitesi Barındırma" altında yeniden yönlendirilmesini de sağlayabilirsiniz. Muhtemelen en kolay yol budur. Yardımlarınız için tekrar teşekkürler.

Tim


3
Yukarıda açıklandığı gibi bir paket politikası uygularsanız bu manuel adım gereksizdir.
tooluser

1

2019 Güncellemesi

Bugün itibariyle aşağıdaki DNS ayarı AWS S3 statik web sitesini çalıştırmam için çalıştı:

Paket eşleme için DNS ayarı


0

123-reg kontrol panelinizdeki Gelişmiş DNS ekranından

  • Varsayılan 123-reg ayarlarına "DNS'yi Sıfırla" düğmesini tıklayarak başladım.

Bu bana şunları verdi;

DNS EntryType       PriorityTTLDestination/Target
*                 A                                 81.xx.xx.xx              
@               A                                 81.xx.xx.xx              
@               MX          10               xx0.123-reg.co.uk
@               MX          20               xx1.123-reg.co.uk

  • Daha sonra bu girişi ekledim

www          CNAME                    www.example.com.s3-website-us-east-1.amazonaws.com

Onların itibaren Manage DNS kılavuzu pdf o "kayıt @" yani açık alan adı stackoverflow.com "hayır alt etki alanı ile en saf haliyle etki alanınız" anlamına gelir diyor

Ancak "* kaydının" ne olduğundan bahsetmiyor, tüm alt etki alanlarını yakalayacağını varsaydım ve CNAME kaydını aşabileceğini düşündüm, ancak durum böyle görünmüyor.

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.