Saya menjalankan beberapa server web di rumah saya, yang masing-masing terhubung ke router saya.
Server A Server B Server C
Saat ini saya hanya dapat menggunakan satu server karena IP saya (xx.xxx.xx.xx) port 80 mengarah ke server A. Namun beberapa domain menunjuk ke server A, beberapa ke B, dll.
Dengan satu alamat IP saya, bagaimana cara saya menunjuk ke setiap server? Misalnya A (host) saya mencatat semua menunjuk hanya alamat IP saya.
Maaf jika saya terdengar membingungkan. Beri tahu saya jika saya tidak jelas.
Setiap server menjalankan Ubuntu Server 12.04.02 dan menggunakan Apache (jika itu membantu). Router saya juga Netgear dan ISP saya adalah Time Warner Cable.
webserver
apache-http-server
home-server
ubuntu-server
Stephen Cioffi
sumber
sumber
Jawaban:
Situs web akan dikenali melalui
Host:
tajuk yang dikirim dari browser. Tetapi karena router Anda tidak mampu melakukan HTTP demangling yang digunakan oleh hosting virtual, Anda harus memilih satu server sebagai "titik akhir" (dan beri tahu router Anda bahwa alamatnya adalah Virtual Server / DMZ).Kemudian, Anda mengkonfigurasi salah satu mesin sebagai server web untuk domainnya dan proksi untuk yang lain (mis. Menggunakan Apache reverse proxy ), atau (mungkin lebih baik) Anda menginstal proxy pada satu mesin itu, dan menggunakannya untuk mengalikan permintaan ke server lain . Beberapa domain bahkan mungkin di-host di mesin yang sama.
nginx
cocok untuk jenis pekerjaan ini, tetapi Anda juga dapat menggunakan perangkat lunak lain (misalnyapound
).Saya pikir solusi kedua lebih baik karena Anda tidak perlu mengutak-atik konfigurasi server web sama sekali: satu proxy melakukan proxy dan beberapa server web melakukan penyajian web. Jika Anda perlu menambahkan server atau memindahkan host virtual, arsitektur ini lebih mudah dipelihara.
Latensi yang ditambahkan karena permintaan didekodekan dua kali (sekali oleh proxy, sekali oleh penerima yang dituju) dapat diabaikan, dan lebih dari diimbangi oleh akselerasi yang disediakan oleh proxy itu sendiri.
sumber