Saat ini saya memiliki nama domain terdaftar untuk server Linux / Apache yang akan saya ganti dengan yang lain pada alamat IP baru.
Migrasi data akan relatif cepat dan gangguan 5 menit selama proses itu dapat diterima.
Catatan DNS memiliki TTL dari 6-12 jam rupanya, yang saya tidak bisa mempercepat.
Apa kemungkinan konsekuensi dari perubahan ini? Agaknya pengguna yang masih mencari alamat lama akan terus menekan server lama, sementara pengguna yang dns cache telah kedaluwarsa atau kosong akan melihat domain baru.
Apakah mungkin untuk melakukan pengalihan dari server lama (dengan Apache atau iptables) ke IP baru? Server lama dapat terus berjalan selama diperlukan.
Jawaban:
Anda dapat menggunakan Reverse Proxy di server web lama. Mungkin agak sulit untuk diatur, tetapi selama DNS ITS diperbarui, Anda akan baik-baik saja.
Apa yang akan terjadi adalah:
Jika Anda menjalankan Apache, lihat mod_proxy. Jika Anda menjalankan IIS, lihat ISAPI Rewrite untuk mendapatkan fungsionalitas semacam ini.
(perhatikan bahwa DNS pada server web lama harus mutakhir jika Anda ingin proksi menggunakan nama domain. Jika tidak, proksi langsung ke alamat IP dan pastikan bahwa host mendengarkan IP tanpa nama host)
sumber
/etc/hosts
123.456.789.12 my.domain.com
Ini hanya akan membuat server web lama Anda mengetahui alamat yang diperbarui. Ketika klien mengakses server web lama (karena mereka tidak memperbarui DNS) server web dapat mem-proxy permintaan menggunakan nama domain. Saya tidak menggunakan Apache tetapi di sini adalah contoh Nginx: gist.github.com/scragg0x/738f144b33d17ef763d1Perusahaan saya hanya melakukan ini dengan beberapa situs Web besar. Prosedur dasar yang kami ikuti adalah:
Untuk Apache, Anda mungkin harus menggunakan mod_rewrite untuk pengalihan sehingga Anda dapat mempertahankan URI yang diminta oleh klien. Implementasi sederhana adalah:
Ini akan melakukan pengalihan sementara 302 untuk www.domain.com/anything ke www-new.domain.com/anything. Anda ingin ini bersifat sementara karena Anda mungkin ingin mesin pencari hanya mengindeks www.domain.com, bukan www-new.domain.com.
Setelah perubahan DNS untuk www.domain.com disebarluaskan untuk kepuasan Anda, Anda dapat membuang www-baru sama sekali, atau dengan mudah meringankan siapa pun yang menggunakannya kembali ke www dengan pengalihan lain. Ini hampir proses yang sama seperti di atas; mengatur server lama untuk menangani www-baru, mengubah DNS untuk www-baru untuk menunjuk ke server lama, dan mengatur pengalihan pada server lama mengirimkan lalu lintas www-baru ke www:
Kali ini Anda ingin melakukan pengalihan 301 permanen, sekali lagi untuk memberi petunjuk pada crawler mesin pencari bahwa www.domain.com adalah situs yang Anda ingin mereka indeks.
sumber
Oke, berdasarkan apa yang direkomendasikan oleh @Farseeker, saya mengatur konfigurasi berikut pada server Apache lama untuk meneruskan permintaan ke server baru:
Untuk memastikan server lama memiliki alamat yang benar, saya memasukkan entri
/etc/hosts
:Saya juga harus mengaktifkan Apache
mod_proxy
danmod_proxy_http
modul, dan memuat ulang konfigurasi:sumber
Itu utas lama tapi mungkin itu akan membantu seseorang:
Selain jawaban Mark Henderson (mod_proxy) ATAU James Sneeringer (302.301 redirect ke subdomain baru), satu hal lagi dapat ditambahkan mengenai sinkronisasi basis data ketika memindahkan aplikasi besar.
Jika proyek web Anda menggunakan database (mis. MySQL), sebelum mengganti DNS, pastikan aplikasi (mis. PHP) dari kedua server terhubung ke database yang sama. Sehingga membaca dan menulis akan pergi ke tempat yang sama dan Anda tidak harus berurusan dengan alat sinkronisasi DB yang berbeda sesudahnya.
Ini akan (kemungkinan besar) mempengaruhi waktu pemuatan pada satu server tetapi untuk periode sakelar ini dapat diterima.
Seandainya server DB tidak dapat diakses dari luar, Anda dapat mengatur juga mysql_proxy di server web yang memiliki akses ke sana dan dapat diakses dari IP eksternal.
sumber
Saya menggunakan iptables untuk ini ketika saya perlu melakukan ini; sedikit DNAT / SNAT cepat dan semua lalu lintas Anda secara ajaib muncul kembali di tempat yang seharusnya. Jika Anda benar-benar perlu mempertahankan alamat IP sumber, proksi terbalik dapat membantu, dengan mengatur tajuk yang tepat, tetapi itu membutuhkan banyak peretasan di kedua ujungnya untuk memastikan semuanya cocok, jadi saya biasanya tidak khawatir tentang hal itu. untuk sesuatu seperti migrasi karena bersifat sementara, dan menurunkan TTL menangani sebagian besar.
sumber