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...
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.
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.
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
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.