[SHARE] 1 Domain banyak lokasi server tanpa CDN


Status
Not open for further replies.

mlutfiup

Hosting Guru
Mau share kode sederhana, siapa tau butuh. Kode ini untuk mendeteksi pengunjung berdasarkan IP Address, diarahkan ke lokasi server sesuai negara pengunjung.

Keuntungannya: akses konten bisa jadi lebih cepat

Contoh: Pengujung 1 : ID, Pengunjung 2 : US, Pengunjung 3 : SG

Catatan : Kontennya harus ada dan identik di masing2 lokasi server ya

PHP:
<?php
$country = geoip_country_code_by_name($_SERVER["REMOTE_ADDR"]);
if ($country== "ID") {
    echo "<meta http-equiv='refresh' content='0 ;URL=https://www.domain.com/'>";
    //gak wajib 'This host is located in: ' . $country;
}
elseif ($country == "US") {
    echo"<meta http-equiv='refresh' content='0 ;URL=https://us.domain.com/'>";
    //gak wajib echo 'This host is located in: ' . $country;
}
elseif ($country == "SG") {
    echo"<meta http-equiv='refresh' content='0 ;URL=https://sg.domain.com/'>";
    //gak wajib echo 'This host is located in: ' . $country;
}
?>
dan seterusnya sesuaikan dengan kebutuhan
 

dhyhost

Web Hosting Service
The Warrior
Verified Provider
beda fitur sih jika dibandingkan CDN.
dalam hal ini kita harys menyiapkan 3 server, dan ketika update kita harus sync ke semua server, kl CDN kan untuk handle static contentnya saja dan tidak perlu repot sync jika ada update di web utama.

btw bagus infonya jika untuk web profile perusahaan yang ingin memberikan informasi di web dengan bahasa yang berbeda , jadi bisa diarahkan untuk menyesuaikan bahasa yang dituju.
 

masiqbal

Hosting Guru
Verified Provider
Mau share kode sederhana, siapa tau butuh. Kode ini untuk mendeteksi pengunjung berdasarkan IP Address, diarahkan ke lokasi server sesuai negara pengunjung.

Keuntungannya: akses konten bisa jadi lebih cepat

Contoh: Pengujung 1 : ID, Pengunjung 2 : US, Pengunjung 3 : SG

Catatan : Kontennya harus ada dan identik di masing2 lokasi server ya

PHP:
<?php
$country = geoip_country_code_by_name($_SERVER["REMOTE_ADDR"]);
if ($country== "ID") {
    echo "<meta http-equiv='refresh' content='0 ;URL=https://www.domain.com/'>";
    //gak wajib 'This host is located in: ' . $country;
}
elseif ($country == "US") {
    echo"<meta http-equiv='refresh' content='0 ;URL=https://us.domain.com/'>";
    //gak wajib echo 'This host is located in: ' . $country;
}
elseif ($country == "SG") {
    echo"<meta http-equiv='refresh' content='0 ;URL=https://sg.domain.com/'>";
    //gak wajib echo 'This host is located in: ' . $country;
}
?>
dan seterusnya sesuaikan dengan kebutuhan
Permasalahan yg mungkin timbul adalah:
  • Fungsi geoip_country_code_by_name (PECL) tidak ada pada instalasi PHP default, dan tidak semua orang bisa/punya akses untuk install
  • Fungsi geoip_country_code_by_name tidak support database Maxmind ter-update, hanya GeoIP Legacy
  • $_SERVER["REMOTE_ADDR"] bisa tidak valid kalau PHP berada di belakang reverse proxy yg salah setting
  • $_SERVER["REMOTE_ADDR"] bisa tidak valid kalau pengunjung pakai proxy, tunnel, vpn.
 

Pencari_Ilmu

Hosting Guru
intinya tetep harus sedia server di 3 negara berbeda ya tuan?

mungkin kalau enduser lebih praktis pakai CDN, lebih hemat biaya daripada harus sewa 3 server
 
Status
Not open for further replies.

    
Top