Site IP adresini değiştirmenin en iyi yolu - son kullanıcı açısından?


10

Burada bir sürü ilgili Q / A okudum ama hala en iyi cevabın ne olduğundan emin değilim.

Birkaç siteyi "1.abc" IP adresinden "2.def" e taşıyorum. Şu andan itibaren mevcut DNS'de tüm TTL'leri 300 saniyeye ayarladım ve kullanılmaya hazır yeni bir DNS bölgesi (AWS Route 53'te), yeni ad sunucuları ve tüm TTL'ler 60 saniyede. Bu yüzden DNS perspektifinden hazır olduğuma inanıyorum. Hareket sonrası, birkaç gün sonra TTL'yi Rota 53'te daha makul sayılara ayarlayacağım.

Tüm kullanıcılarımı taşıma hakkında uyardım ve taşıma için tanımlı bir zaman pencerem var. Onlara, hareket tamamlandığında ve 24 saat geçtiyse ve hala eski (kilitli) siteleri görüyorlarsa, yerel bir DNS önbelleğini temizlemeye zorlamak için bilgisayarlarını yeniden başlatmaları gerektiğini söyledim.

Kullanıcının tarayıcısının (önbellek) bu konuda nasıl bir rol oynadığını anlamıyorum. Yerel bir hosts dosyası (Win7) ile kendi denemelerim, tarayıcı hakkında eski IP adresinin gitmesine izin vermeyen bir şey olduğunu söylüyor - yeni site konumunun gösterilmesi için her şeyi temizlemeliydim. yukarı, hatta sonraipconfig /flushdns

(EDIT) - Eski sunucuya kök erişimim yok, bu nedenle bu soruya kabul edilen yanıtı uygulayamıyorum .

Soru: Kullanıcılarımın bununla uğraşmasını istemiyorum, bu yüzden tüm tarayıcıları önbelleğe almaya zorlamak için yapabileceğim bir şey var mı? Ve eğer öyleyse, ne kadar süre açık bırakırım?

Teşekkürler...


My own experiments with a local hosts file (Win7) tell me there is something about the browser that is not letting the old IP address goBu konuda biraz bilgi verebilir misiniz? Afaik, tarayıcılarda DNS kayıtlarını 1 dakikadan fazla önbelleğe almaz.
Tanmay

Emin değilim, ancak birden fazla ipconfig / flushdns ve "ctrl-F5" (Firefox'ta) sonra, hem eski siteden hem de yeni siteden sayfaların bir karışımını almaya devam ediyordum ... sonunda "her şeyi" temizlemek ve yeniden başlatmak zorunda kaldım tarayıcı. Kullanıcılarımın benzer bir şey yapmasını istemiyorum ...
CC

Sağladığınız bağlantıdaki çözüm olan JBTW, yeni sunucuya kök erişiminiz varsa da çalışabilir. DNS kayıtlarını güncelleyin ve DNS düzgün şekilde yayılana kadar tüm trafiği yeni sunucudan eskisine aktarın.
Tanmay

teşekkürler ... ama sonra eski tekrar yeni (veritabanları, vb) ile senkronize etmek zorunda kalacaktı, hayır?
CC

Yönlendirmeyi kapatmadan hemen önce veritabanını bir kez senkronize etmeniz gerekir.
Tanmay

Yanıtlar:


15

Hayır, yapamazsınız. Sorun, DNS yanıtının kullanıcı ve DNS sunucusu arasında herhangi bir yerde önbelleğe alınabilmesidir ve bunları geçersiz kılmanın bir yolu yoktur.

Ancak yapabilecekleriniz - verileri senkronize ettiğinizde ve ikinci siteniz hazır olduğunda, orijinal sunucuyu proxy olarak davranacak ve tüm istekleri yeni konuma aktaracak şekilde yeniden yapılandırabilirsiniz.

Bu şekilde, web sitenizde neredeyse 0s kesinti süresi elde edebilirsiniz.

Güncelleme

Kök erişiminiz yoksa birkaç seçenek vardır:

  • PHP'de proxy oluşturma

  • İkinci sunucuda proxy'yi yapılandırın (orada kök erişiminiz varsa), DNS'yi değiştirin ve hazır olduğunuzda proxy'yi web sunucusuna değiştirin

  • Bu yöntem sorun kaynağı olabilir 2 adresiniz var (www.domain.tld ve www2.domain.tld). Www2'yi (www ile aynıdır) yapılandırın ve doğru DNS kayıtlarını ayarlayın. Ardından sitenizin www sürümünü hazırlayın ve DNS anahtarını yapın. Eski sunucudaki tüm isteklerin yönlendirmesini www2 alt etki alanına ayarlayın.


Bu konuda biraz genişleyebilir misiniz, yoksa okuyabileceğim bir makaleye veya Soru / Cevaplara işaretçi misiniz? IP tablolarını doğrudan manipüle edemediğim için mevcut sunucuya root erişimim yok ... belki de alternatif bir yol var mı?
CC

@CC belki de uygulamanızı HAProxy örneğiyle değiştirme erişiminiz var mı? Ya da uygulama kodunuzu, isteği yalnızca yeni sunucuya ileten başka bir kodla mı değiştirmelisiniz?
Jason Martin

@JasonMartin - .htaccess ve uygulama koduna erişimim var. Yani, evet muhtemelen istenen URL'yi alıp yeni IP adresine iletebilirim - belki de denemeliyim?
CC

@CC o zaman umut verici geliyor. DNS 'sonunda tutarlı' bir araçtır ve bazı DNS sunucuları TTL'lerinde zemin ayarlar ve 300'lerinizi yok sayar. Orada herhangi bir kesinti önlemek istiyorsanız, yönlendirme proxy en iyi seçimdir.
Jason Martin

4

Teoride, alan adının TTL'sini düşük bir şeye ayarlamak ve bu değişikliğin gerçekleşmesini beklemek, ardından IP'yi değiştirmek neredeyse şeffaf bir geçişle sonuçlanmalıdır. Sonuçta, bu TTL'nin yapılandırılabilir olduğu nokta.

Pratikte insanlar şeyleri yanlış yapılandırır ve araçlar bozulur. Bu nedenle, işler düzgün çalışmazsa kullanıcılarınıza yerel önbelleklerini temizleme talimatlarını vermeniz gerekebilir.

Yine de yanlış bir şey yapmıyorsunuz.


Hemen eski AW adresi ile yeni AWS Route 53 DNS'ye geçiş yapmalı mıyım, o zaman taşıma işlemi tamamlandıktan sonra IP adresini yenisiyle değiştirmeli misiniz? - ya da sadece yenisine DNS değiştirmek ve aynı zamanda IP değiştirmek?
CC

1
@CC: Ben ağ yöneticisi değilim, bu yüzden bir tutam tuz ile al (ve ServerFault gurus'tan başka türlü duyduğuma sevindim), ama kişisel olarak ikisini birden değiştirmemenizi tavsiye ederim. DNS'nizi düzenleyin, ardından IP değişikliğini gerçekleştirin ve yeni DNS'nin bu son bölümde size yardımcı olarak işini yapmasına izin verin.
Yörüngedeki Hafiflik Yarışları

1
Bir deneme denedim. Bir site, DNS saatlerini önceden değiştirdim, sonra A kaydı IP adresini daha sonra değiştirdim. Mükemmel çalıştı. Her ikisini birden değiştirdiğim diğer site. Eski / yeni IP adresi arasında saatlerce çalıyordu - Sonunda AWS Route 53 bölgesini sildim ve ilk siteyle aynı şekilde yeniden yaptım. Mükemmel çalıştı. Yani hiçbir tutam tuz gerekli - spot on!
CC

1

Kaçınılmaz olarak eski adresiniz önbelleklenecek ve uzun süre kullanılacaktır - çoğunlukla botlar tarafından.

Nasıl yaparım?

  • Örneğin www2.yourdomain.com, yeni IP'yi işaret eden bir A kaydı oluşturun . Bu kayıt daha önce hiç kullanılmamış olmalıdır; bu nedenle asla önbelleklenmedi.
  • Eski sunucudaki sorguları şuraya yönlendir www2.yourdomain.com
  • Yönlendirmeleri izleyin ve trafik kabul edilebilir bir düzeye indiğinde eski sunucuyu kaldırın.
  • Eski sunucu çıkartıldıktan sonra Ve son olarak, yönlendirme www2.yourdomain.comiçin www.yourdomain.com.

301 Kalıcı yönlendirmeler kullandığınızdan emin olun. https://en.wikipedia.org/wiki/HTTP_301


İçimdeki his o gerektiğidir değil ama sadece saniye, yönlendirmeler ilk tur 301 kullanmanız. Sadece ezoterik SEO bilgeliği olan biri tarafından bilinmesi gereken özel bir sebep var mı?
Random832

@ Random832 Bir kalıcı kullanıcı arayüzüne eski URL'yi unutmasını ve örneğin yer işaretlerini yeni URL'yi gösterecek şekilde güncellemesini söyler (böylece bir dahaki sefere yeni URL'ye doğrudan erişebilirler). Daha sonra yeniden yönlendirmenin (veya orijinal URL'ye geri dönmenin) bir zararı yoktur. Diğer yandan geçici bir yönlendirme, kullanıcı aracısına orijinal URL'yi tutmasını söyler (çünkü yönlendirme farklı bir hedefe olabilir veya bir dahaki sefere gerçekleşmeyebilir). Bu nedenle, geçici yönlendirmelerle, yönlendirme izleme hiçbir zaman "kabul edilebilir bir seviyeye" düşmez.
Hagen von Eitzen

@HagenvonEitzen Tarayıcılar eski sunucunun www.yourdomain.com için IP adresini almayı durdurduğundan kabul edilebilir bir seviyeye düşecektir, bu bir DNS şeyidir ve kullanılan HTTP yönlendirme türünden etkilenmeyecektir. Ve "çünkü yönlendirme gerçekleşebilir ... bir dahaki sefere değil" bu nedenle tam olarak doğrudur.
Random832

0

İsim sunucularınızı aynı anda değiştirmeyi planlıyor musunuz? Ad sunucularının keşfedilme şekli nedeniyle, normal kayıttan çok daha uzun sürer - genellikle 24 saat veya daha uzun süreler.

DNS'yi değiştirmeden önce mevcut sağlayıcınızdaki DNS'yi güncellemenizi veya web sitesi IP'sini değiştirmeden 7 gün önce ad sunucularınızı değiştirmenizi önemle tavsiye ederim .

Modern bilgisayarlar ve tarayıcılar, DNS ile TTL'lere uymada oldukça güvenilirdir, ancak en iyi sonuçlar için tüm zinciri anlamanız gerekir.


Teşekkürler ve evet, bu yukarıdaki Hafiflik cevabı altındaki yorumumu yansıtıyor. Çözücüler, birkaç dakika içinde ad sunucularını oldukça hızlı bir şekilde yeniledi. Anahtar ilk önce bunu yapmaktı, sonra hedef IP adresini değiştirmeden önce birkaç saat bekleyin. Her ikisi de aynı anda kötüydü ... çok kötü.
CC
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.