2009-12-15 33 views
6

Burada biraz turşu yapıyorum. Şu anda bir üçüncü taraf barındırma sağlayıcısı tarafından paylaşılan bir barındırma ortamında barındırılan bir web sitem var. Bu nedenle, bu web sitesinin açık olduğu IIS sunucusuna kök erişimim yok.Amazon S3'e Dosya Taşırken URL'leri Saklarken

mysite.com/myfiles

"myfiles" dizini şu anda içinde dosyaların bir yeri vardır:

Şu anda gibi, sitede bir dizin var. O kadar çok dosya beni ev sahibimdeki disk alanı tahsisine koyuyor. Şu anda düşünülecek birkaç şey var:

  1. Ev sahibinin, yükseltmesi için daha cömert bir planı yok. Sadece bizi (çok yüksek) aşım ücreti almak için istekli.

  2. Biz neredeyse bir yıl uzaklıktadır onlarla sözleşme sonuna kadar bu ev sahibi ile kalması gerekir.

ben hosting hesabına disk alanı gerginlik rahatlatmak hangi Amazon S3 üzerinde bu dizinin içeriğini almak ve koymak istiyorum. Tek sorun, dosyaların URL'lerinin aynı kalması gerektiğidir! Harici bir web sitesi bağlantıları mysite.com/myfiles/image.jpg eğer

Yani örneğin, ben o sitede görüntü aksamadan çalışmaya devam etmek istiyorum.

Bunu başarmak için herhangi bir yol var mı?

cevap

9

Ben (gelecek göç için) mevcut siteye karşılık verecek bir klasör düzeni ile dolu bir S3 kova (ve belki üzerinde oturur bir CloudFront dağılımı), oluşturma öneriyoruz. Daha sonra, kanada/dağıtımınıza kolay bir ad vermek için DNS'nizde bir CNAME girişi oluşturun (ör. s3.my.domain).

Sonra eşleşen S3 URL'ye http://my.domain/myfiles/xxx taleplerini iletir mevcut sitenize, örneğin bir URL yeniden yazma eklemek http://s3.my.domain/myfiles/xxx '. barındırma sözleşme gerektiği gibi kök ve kova/dağılımına www girdileri veya başka ev sahibi noktasına değişiklik DNS tamamlanır

.

Şu anda iş yerlerinden biri için statik içeriği coğrafi olarak önbelleğe almak için Cloudfront kullanıyorum ve harika çalışıyor; Şimdiye kadar sıfır kapalı kalma süresi ( ~ 6   12 aydan fazla). Haziran 2010


: CloudFront önceki barındırma düzenlemesi daha ucuz, mükemmel olmuştur. Şu anda ayda yalnızca 120 ABD doları için 2,5 milyon civarında talep sağlıyoruz (750 GB).

0

Sen Amazon S3 için Virtual Hosting of Buckets belgelerine bakarak gerekenler hakkında bilgi bulabilirsiniz. Yapmanız gerekeni yapmanıza yardımcı olabilecek S3 dosyalarınıza erişmek için kullanılacak ana bilgisayar adını özelleştirebilirsiniz.

0

İlk soru: Üçüncü taraf sitelerin sitenize yönlendirilmemiş URL'lere sahip olması neden önemlidir? İçerik için sana ödeme yapıyorlar mı? İçerik için size ödeme yapmıyorlarsa, onlara ücretsiz içerik vererek alacağınız bazı faydalar var mı?Bu bir iş kararıdır ve belki de bu içeriği sağlamak için aşım ücretlerini ödemeye değer olduğu sonucuna varırsınız.

İkinci soru: aslında üçüncü taraf sitelerden kaç tane URL bağlanıyor? Bu URL'leri erişilebilir tutmak için zaman ayırabilir ve diğer her şeyi S3 barındırma alanına geçirebilirsiniz. Bir Google "bağlantı:" sorgusu buna yanıt verebilir.

Çözümler için: ilk çözüm, 301 yönlendirmesi oluşturma yeteneğiniz varsa çalışır. Taşımak istediğiniz her URL için bir yönlendirme oluşturun.

İkinci çözüm, mysite.com'daki URL'lerin mysite.s3.amazon.com ile eşlendiği bir ters proxy'dir. Bunun gerçekten iyi bir çözüm olduğundan emin değilim; Dosyaları proxy etmek için bant genişliği için ödeme yapacaksınız. Ayrıca, bir ters proxy kurabilme yeteneğiniz varsa, 301 yönlendirmesi oluşturma yeteneğiniz vardır.

Üçüncü çözüm: sitenizi topluca taşıyın ve etki alanı adı haritasının S3'e (CNAME eşleştirmesiyle) sahip olmasını sağlayın. Evet, artık kullanmadığınız bir barındırma hizmeti için ödeme yapıyorsunuz. Ve dinamik içerik kullanırsanız, işe yaramaz (belki de S3 için 30 $/ay ödersiniz).

Son olarak, bir çözüm değil, ileriye doğru bir yol: ek statik içerik için farklı bir etki alanı adı kullanın. Bu alan adı, CNAME yoluyla bir Amazon kovasına eşlenebilir.

+1

Üçüncü taraf sitelerin sitemize kesintisiz bir şekilde bağlanmış URL'leri olması önemlidir, çünkü sitemize bağlanmış birçok site vardır ve sitelerine yerleştirilmiş gerçek görüntüler (bizim iznimizle) vardır. sunucumuzdan gerçek görüntü. Bu bağlantıları sürdürmek ve bu görüntülerin kırılmasını önlemek istiyoruz. Niye ya? Düşünmek için, sanırım. İkinci soruya verilen cevap, bu harici URL'lerin tam olarak nerelerinin referans olduğunu bilmek için hiçbir yolumuz olmamasıdır. Google'ın "bağlantı:" sorgusunun kapsamından veya doğruluğundan memnun değilim. –

0

Dosyaları taşıyın ve dizindeki 404 işleyiciyi ayarlayın. 404 işleyicisi, istemciyi 301 veya 302 durumuyla S3 URL'ye saydam olarak yeniden yönlendirebilir. URL yeniden yazmayı kullanmak için diğer öneriler, paylaşılan bir barındırma sağlayıcısı olduğunuz ve genellikle joker ASP.NET eşleştirmelerini desteklemediğinden, herhangi bir aspx dosyası için çalışmaz.

İlgili konular