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


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

Bir kaç siteyi IP adresinden "1.a.b.c" 'ye "2.d.e.f"' ye taşıyorum. Şu andan itibaren mevcut DNS'de tüm TTL'yi 300 saniyeye ayarlıyorum ve yeni ad sunucularına ve tüm TTL'lere 60 saniye içinde kullanılmaya hazır yeni bir DNS bölgesi (AWS Route 53'te) var. Bu yüzden, DNS perspektifinden hazır olduğuma inanıyorum. Hareket sonrası, birkaç gün sonra TTL'yi Route 53'te daha makul sayılara ayarlayacağım.

Tüm kullanıcılarıma hareket konusunda uyardım ve hareket için tanımlanmış bir zaman pencerem var. Hareket tamamlandığında ve 24 saat geçip hala eski (kilitli) siteleri görüyorsa, yerel bir DNS önbelleğini temizlemek için bilgisayarlarını yeniden başlatmaları gerektiğini söyledim.

Kullanıcının tarayıcısının (önbellek) bunun nasıl bir rol oynadığını anlamıyorum. Yerel bir ana bilgisayar dosyasıyla (Win7) yaptığım kendi deneylerim, tarayıcıyla ilgili eski IP adresine izin verilmeyen bir şey olduğunu söyledi. tarih-> her şeyi temizle Yeni site yerini göstermek için, sonra bile ipconfig /flushdns

(EDIT) - Eski sunucuya root erişimim yok, bu yüzden bu soruya cevap kabul edildi.

Soru:  Kullanıcılarımın bununla başa çıkmak zorunda kalmasını istemiyorum, bu yüzden tüm tarayıcıları yeniden önbelleğe almak için yapabileceğim bir şey var mı? Ve eğer öyleyse, ne kadar süre açık bırakıyorum?

Teşekkürler...


9
2017-12-28 15:19


Menşei


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 go Bu konuda biraz bilgi verebilir misiniz? Afaik, tarayıcılar 1 dakikadan uzun bir süredir DNS kayıtlarını önbelleğe almaz. - Tanmay
Emin değilim, ama birden çok ipconfig / flushdns ve "ctrl-F5" (Firefox'ta) sonrasında, hem eski siteden hem de yeni siteden sayfalar karıştırmaya devam ediyordum ... nihayet "her şeyi" temizlemek zorunda kaldım ve yeniden başlayacağım tarayıcı. Kullanıcılarımın benzer şeyler yapmasını istemiyorum. - C C
JBTW, sağladığınız bağlantıdaki çözüm, yeni sunucuya root erişiminiz varsa da çalışabilir. DNS düzgün bir şekilde yayılana kadar DNS kayıtlarını güncelleyin ve tüm trafiği yeni sunucuya eski olana iletin. - Tanmay
Teşekkürler ... ama sonra tekrar eskiyi yeni (veritabanları, vb.) ile daha sonra senkronize etmem gerekecek, değil mi? - C C
Veritabanını, iletmeyi kapatmadan hemen önce bir kez senkronize etmeniz gerekir. - Tanmay


Cevaplar:


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

Ancak ne yapabilirsiniz? - senkronize edilmiş verileriniz olduğunda ve ikinci siteniz hazır olduğunda, orijinal sunucuyu bir proxy gibi davranması için yeniden düzenleyebilir ve tüm istekleri yeni konuma iletebilirsiniz.

Bu sayede, web sitenizin yaklaşık 0 sn kesinti süresine ulaşabilirsiniz.

Güncelleştirme

Kök erişime sahip değilseniz, birkaç seçenek vardır:

  • PHP'de proxy işlemi gerçekleştirin

  • Proxy'yi ikinci sunucuda yapılandırın (orada root erişiminiz varsa), DNS'yi değiştirin ve hazır olduğunuzda web sunucusuna proxy'yi değiştirin.

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


14
2017-12-28 15:25



Bunun üzerinde biraz büyüdüğünüze veya okuyabileceğim bir makaleye veya Q / A işaretçisine mi atıf yaparsınız? Mevcut sunucuya root erişimim yok, bu yüzden IP tablolarını doğrudan değiştiremiyorum ... yani alternatif bir yol var mı? - C C
@CC belki de uygulamanızı bir HAProxy örneği ile değiştirmek için erişiminiz var mı? Veya uygulama kodunuzu, isteği yalnızca yeni sunucuya ileten bir başkasıyla değiştirin? - Jason Martin
@JasonMartin - .htaccess ve uygulama koduna erişimim var. Evet, muhtemelen istenen URL'yi alıp yeni IP adresine yönlendirebilirim - belki bunu denemeliyim? - C C
O zaman umut verici gelen @CC. DNS, 'nihayetinde tutarlı' bir araçtır ve bazı DNS sunucuları, TTL'lerinde zemin ayarlar ve 300'lerinizi görmezden gelir. Orada herhangi bir kesintiyi önlemek istiyorsanız, bir yönlendirme vekil en iyi bahistir. - Jason Martin


Teoride, alanın TTL'sini düşük bir şeye ayarlar ve bu değişikliğin gerçekleşmesini bekler, ardından IP'yi değiştirirse, saydam bir geçişe neden olur. Sonuçta, TTL'nin yapılandırılabilir olması gereken nokta budur.

Pratikte, insanlar şeyleri ve araçları kırıyor. Bu nedenle, kullanıcılarınız doğru çalışmıyorsa, kullanıcılarınızın yerel önbelleğini temizlemeleri için talimat sağlamanız gerekebilir.

Yanlış bir şey yapmıyorsun.


4
2017-12-28 19:54



Hemen yeni AWS Route 53 DNS'ye geçmeliyim - eski IP adresi - sonra geçiş yapıldıktan sonra sadece IP adresini yenisiyle değiştirin? - veya DNS'i yenisiyle değiştirin ve IP'yi aynı anda mı değiştirmelisiniz? - C C
@CC: Ağ yöneticisi değilim, bu yüzden bunu bir tutam tuz ile alın (ve ServerFault gurularından başka türlü duymaktan memnuniyet duyarız), ancak kişisel olarak bir kerede değiştirmemeyi tavsiye ederim. DNS'inizi sıraya alın, 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. - Lightness Races in Orbit
Ben bir denemeyi denedim. Bir site, DNS saatlerini önceden değiştirdim, daha sonra A kayıt IP adresini değiştirdim. Mükemmel çalıştı. Diğer siteyi de aynı anda değiştirdim. Saatlerce eski / yeni IP adresi arasında bir sıçrama oldu - sonunda AWS Route 53 bölgesini sildim ve ilk site ile aynı şekilde yeniden yaptım. Mükemmel çalıştı. Yani hiçbir tutam tuz gerekli - sen yerinde! - C C


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

Nasıl yaparım?

  • Örneğin bir A kaydı oluşturun www2.yourdomain.com, yeni IP'ye işaret ediyor. Bu kayıt daha önce hiç kullanılmamış olmalıydı; bu nedenle hiçbir zaman önbelleğe alınmadı.
  • Eski sunucudaki sorguları yeniden yönlendir www2.yourdomain.com
  • Yönlendirmeleri izleyin ve trafik kabul edilebilir bir düzeye çıktığında eski sunucuyu kaldırın.
  • Ve son olarak eski bir sunucu kaldırıldı, yönlendirme www2.yourdomain.com için www.yourdomain.com.

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


1
2017-12-28 21:38



Benim bağırsak duygularım o olmalı değil İlk yönlendirme radarı için 301 kullanın, ancak sadece ikinci için. Sadece ezoterik SEO bilgeliği olan biri tarafından bilinmesi gereken özel bir neden var mı? - Random832
@ Random832 Kalıcı, kullanıcı aracısının eski URL'yi ve ör. Yeni URL’yi işaret edecek şekilde yer imlerini güncelleyin (böylece bir dahaki sefere yeni URL’ye doğrudan erişebilir). Daha sonra yeniden yönlendirmede (veya orijinal URL'ye geri) zarar yoktur. Diğer taraftan geçici bir yönlendirme, kullanıcı aracısının orijinal URL'yi tutmasını söyler (çünkü yeniden yönlendirme farklı bir hedefe gelebilir veya bir dahaki sefere gerçekleşmeyebilir). Bu nedenle, geçici yönlendirmelerle yeniden yönlendirme denetimi asla "kabul edilebilir bir düzeye" düşmek. - Hagen von Eitzen
@HagenvonEitzen Tarayıcılar, bir DNS nesnesi olan ve kullanılan HTTP yönlendirme türünden etkilenmeyecek olan, eski sunucunun IP adresini www.yourdomain.com için alamadığı için kabul edilebilir bir düzeye düşecektir. Ve "yönlendirme gerçekleşebileceği için ... bir daha asla değil" bu nedenle tam olarak doğrudur. - Random832


Adınızı değiştirmeyi planladığınız gibi mi geliyor? İsim denetleyicilerinin bulunma şekilleri nedeniyle, düzenli bir kayda göre güncellemeleri çok daha uzun sürüyorlar - genellikle yaklaşık 24 saat veya daha uzun sürüyor.

Mevcut sağlayıcınızdaki DNS'yi güncellemenizi şiddetle tavsiye ederim önce IP adresini değiştirmeden 7 gün önce DNS'yi değiştirmek veya ad sunucularınızı değiştirmek.

Modern bilgisayarlar ve tarayıcılar, TTL'leri DNS ile yerine getirirken oldukça güvenilirdir, ancak en iyi sonuç için tüm zinciri anlamalısınız.


0
2017-12-29 20:01



Teşekkürler, ve evet bu, Lightness'in yukarıdaki cevabı altında yaptığım yorumu yansıtıyor. Çözümleyiciler isim vericileri oldukça hızlı bir şekilde yeniledi - birkaç dakika içinde. Anahtar önce bunu yapmak, ardından hedef IP adresini değiştirmeden önce birkaç saat beklemek oldu. İkisi de çok kötüydü ... çok kötüydü. - C C