Apache IP dan host virtual berbasis nama dijelaskan

Apache IP dan host virtual berbasis nama dijelaskan

Dengan menggunakan host virtual kita dapat membuat httpd Server mengelola beberapa situs web. Kami dapat menggunakan IP dan host virtual berbasis nama; Apa perbedaan di antara mereka?

Bagaimana Apache Memutuskan Bagaimana Host Virtual seharusnya
Digunakan untuk menanggapi permintaan klien? Kami akan menjawab pertanyaan ini dalam hal ini
Artikel, terus membaca!

Dalam tutorial ini Anda akan belajar:

  • Apa perbedaan antara IP dan host virtual berbasis nama
  • Apakah yang Mendengarkan arahan dan bagaimana itu digunakan
  • Bagaimana Apache Memutuskan Host Virtual Apa Yang Harus Digunakan Untuk Menanggapi Permintaan
Apache IP dan host virtual berbasis nama dijelaskan

Persyaratan dan konvensi perangkat lunak yang digunakan

Persyaratan Perangkat Lunak dan Konvensi Baris Perintah Linux
Kategori Persyaratan, konvensi atau versi perangkat lunak yang digunakan
Sistem Distribusi Independen
Perangkat lunak Tidak ada perangkat lunak khusus yang dibutuhkan
Lainnya Keakraban dengan Server Web Apache dan Konsep Dasar HTTP
Konvensi # - mensyaratkan perintah linux yang diberikan untuk dieksekusi dengan hak istimewa root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo memerintah
$ - mensyaratkan perintah Linux yang diberikan untuk dieksekusi sebagai pengguna biasa

Arahan "Dengarkan"

Hal pertama yang perlu dipertimbangkan, adalah Mendengarkan pengarahan. Petunjuk ini wajib, dan diperlukan untuk memberi tahu httpd server ke apa Ip-port kombinasi itu harus mendengarkan permintaan. Secara default server biasanya dikonfigurasi untuk mendengarkan setiap AKU P di port 80.

Di dalam /etc/httpd/conf/httpd.conf Yang merupakan yang utama httpd file konfigurasi pada sistem fedora/rhel/centos, sejalan 45, Misalnya, kita dapat membaca:

Dengarkan 80 

Seperti yang Anda lihat, hanya port yang ditentukan dengan Mendengarkan pengarahan. Akibatnya, server akan mendengarkan port itu di semua alamat IP mesin. Jika alamat ditentukan, sebaliknya, server hanya akan mendengarkan pada yang disediakan IP: Port kombinasi.

Itu Mendengarkan Petunjuk dapat diulang beberapa kali, oleh karena itu sangat mudah untuk menentukan beberapa kombinasi.

Pencocokan virtualhost



Setelah server dikonfigurasi untuk mendengarkan alamat atau port tertentu, Apache harus memutuskan VirtualHost apa yang harus digunakan untuk memenuhi permintaan klien. Sebelum melihat langkah -langkah yang terlibat dalam keputusan ini, mari kita lihat secara singkat bagaimana host virtual didefinisikan.

Petunjuk yang digunakan untuk membuat dan mengonfigurasi host virtual, adalah VirtualHost; Ini menggunakan sintaks berikut:

..  

Seperti yang bisa kita amati, masing -masing VirtualHost Petunjuk membutuhkan addr; itu dapat ditentukan sebagai:

  • Alamat IP, baik IPv4 atau IPv6 (alamat IPv6 harus terlampir dalam kurung persegi);
  • Nama domain yang sepenuhnya memenuhi syarat;
  • A * Wildcard (ini akan cocok dengan semua alamat)

Semua parameter dan konfigurasi yang dibuat di dalam tag, adalah "lokal" untuk host virtual tertentu. Berikut adalah contoh konfigurasi host virtual:

 Servername: www.contoh.com documentroot "/var/www/exampleOne"  

Atau, menggunakan wildcard:

 Servername: www.contoh.com documentroot "/var/www/exampleOne"  

Hal pertama yang dilakukan server adalah menganalisis, secara berurutan, setiap host virtual, dan memeriksa apakah mereka addr cocok dengan permintaan. Penting untuk memperhatikan bahwa alamat IP yang ditentukan memiliki prioritas di atas wildcard, yang dianggap hanya jika tidak ada kecocokan yang tepat ditemukan. Pada titik ini kita dapat memiliki tiga kasus:

  1. Hanya satu host virtual yang cocok dengan permintaan;
  2. Tidak ada host virtual yang cocok dengan permintaan;
  3. Beberapa host virtual cocok dengan permintaan;

Resolusi kasus pertama mudah: jika permintaan klien hanya cocok dengan satu host virtual tertentu, httpd Server merespons dengan melayani konten yang terkait dengan host virtual itu. Dalam hal ini kita bicarakan Berbasis IP host virtual.

Kasus kedua juga mudah dijelaskan: Jika tidak ada konfigurasi host virtual yang memenuhi permintaan klien, konfigurasi server default digunakan untuk menanggapi permintaan tersebut. Untuk konfigurasi default, kami bermaksud semua yang diatur di luar .

Dalam kasus ketiga beberapa host virtual cocok dengan permintaan klien. Ketika ini terjadi, server harus melakukan diskriminasi tergantung pada beberapa faktor lain selain IP: Port Kombinasi: Skema dan nama host yang digunakan host virtual untuk mengidentifikasi dirinya sendiri.



Host Virtual Berbasis Nama

Server memang memeriksa setiap host virtual yang cocok dalam urutan definisi dan memilih mana yang harus digunakan tergantung pada yang diminta nama host. Ini disebut host virtual "berbasis nama". Host virtual pertama yang cocok dengan permintaan yang digunakan. Jika tidak ada kecocokan, server memang menggunakan Pertama didefinisikan VirtualHost sebagai fallback.

Keuntungan utama menggunakan host virtual berbasis nama, adalah bahwa kami dapat menjalankan beberapa situs web di alamat IP yang sama. Mari kita lihat contoh virtualhost berbasis nama:

 SERVERNAME www.serverone.com Documentroot/var/www/serverOne  

Sejak *: 80 digunakan sebagai alamat, host virtual akan cocok dengan setiap permintaan yang dibuat di port 80. Apa yang membuat perbedaan dalam kasus ini adalah Nama server pengarahan. Jika Petunjuk ini dihilangkan, server akan mencoba untuk mendapatkan nama domain yang sepenuhnya memenuhi syarat (FQDN) berdasarkan nama host sistem operasi.

Server memeriksa apakah nama host yang ditentukan dalam permintaan cocok dengan yang dikonfigurasi melalui Nama server Petunjuk, dalam hal ini www.serverone.com. Jika ya, konten yang ditentukan dengan Root document Petunjuk itu disajikan kepada klien.

Di dalam konfigurasi host virtual juga dimungkinkan untuk mendefinisikan satu atau lebih alias, untuk mencocokkan beberapa nama host. Ini dicapai dengan menggunakan Serveralias pengarahan:

 SERVERNAME www.serverone.com serveralias *.serverone.com Documentroot/var/www/serverOne  


Dalam konfigurasi di atas kami menambahkan a Serveralias instruksi menggunakan wildcard. Konfigurasi sekarang akan cocok juga setiap subdomain serverone.com.

Host virtual berbasis IP

Host virtual berbasis IP, seperti yang sudah kita lihat, pada dasarnya adalah apa httpd Penggunaan server secara default. Saat menggunakannya, kemampuan untuk melayani banyak situs web didasarkan pada permintaan klien IP: Port kombinasi.

Dengan sendirinya, untuk menggunakan jenis host virtual ini, mesin harus memiliki beberapa alamat jaringan. Ini tidak berarti bahwa beberapa antarmuka jaringan fisik diperlukan, karena beberapa alamat dapat ditugaskan ke antarmuka yang sama (ini disebut Ip aliasing), dan antarmuka virtual juga dapat dibuat (ingin tahu cara membuat antarmuka jaringan virtual di Linux?

Lihatlah artikel kami tentang membuat antarmuka jaringan virtual di Linux. Berikut adalah dua contoh host virtual berbasis IP:

Dengarkan 8080 Servername: www.contoh.com documentroot "/var/www/contoh" servername www.exampleTwo.com documentroot "/var/www/exampleTwo"  

Di atas kita dapat melihat bahwa bahkan jika dua host virtual memiliki alamat IP yang sama, port yang berbeda ditentukan dalam contoh kedua: 8080. Agar server dapat mendengarkan port itu, kami menggunakan Dengarkan 8080 pengarahan.

Kesimpulan

Dalam tutorial ini kami melihat cara kerja host virtual apache. Kami mempelajari perbedaan antara IP dan host virtual berbasis nama, dan bagaimana server menentukan konfigurasi apa yang harus digunakan untuk menanggapi permintaan klien. Harap, lihatlah Menginstal Artikel Apache Jika Anda ingin tahu lebih banyak tentang cara mengkonfigurasi host virtual Apache.

Tutorial Linux Terkait:

  • Cara memigrasikan Apache ke nginx dengan mengonversi virtualhosts ke ..
  • Pengantar Otomatisasi Linux, Alat dan Teknik
  • Menguasai loop skrip bash
  • Hal -hal yang harus diinstal pada ubuntu 20.04
  • Cara Mengatur Server OpenVPN di Ubuntu 20.04
  • Panduan Pemecahan Masalah Umum GNU/Linux untuk Pemula
  • Cara membuat tumpukan lampu berbasis Docker menggunakan Docker di…
  • Buat redirect dan tulis ulang aturan ke .htaccess di Apache…
  • Cara mengelola host virtual dinamis dengan Apache dan…
  • Bagaimana bekerja dengan WooCommerce Rest API dengan Python