Beberapa situs web IIS pada port dan IP yang sama

Secara default, situs web kosong dibuat selama instalasi server Layanan Informasi Internet (IIS). "Default Web Situs”Yang merespons port web standar - TCP 80. Dalam hal IIS, ini berarti bahwa situs ini (Binding) terhubung ke port 80. Untuk membuka situs ini, cukup ketik nama server IIS ("http: // web-srv1") atau alamat IP-nya ("http: / /10.10.0.88 "). Satu server web IIS dapat melayani puluhan dan ratusan situs, dan secara teknis dimungkinkan untuk menjalankan beberapa situs web yang mendengarkan dan merespons pada port yang sama (80 atau 443). Namun, dari antarmuka IIS Manager, sama sekali tidak jelas bahwa Anda dapat memulai situs kedua pada host yang sama tanpa mengikatnya ke port lain (misalnya, 8080). Pada artikel ini kita akan memahami bagaimana menjalankan beberapa situs pada server IIS yang sama sehingga mereka terikat pada port dan alamat IP yang sama.

Jadi, seperti yang kami katakan sebelumnya, banyak situs dapat diluncurkan pada satu server IIS, namun, agar IIS mendistribusikan permintaan HTTP dengan benar, setiap situs harus diidentifikasi oleh beberapa nilai unik. Untuk situs web IIS, itu terdiri dari tiga atribut, kombinasi yang untuk setiap situs harus unik. Ini adalah:

  • Nomor port TCP
  • Alamat IP
  • nama tuan rumah

Informasi tentang menjalankan situs disimpan dalam atribut ServerBindings dari IIS metabase dalam format IP: Port: Hostname. Jadi, jika Anda perlu menjalankan beberapa situs pada port dan alamat IP yang sama, Anda perlu menggunakan header Host yang unik. Apa ini Header host adalah bagian dari permintaan HTTP ke server yang dikirim klien, yang menunjukkan situs tertentu yang ingin diakses. Oleh karena itu, tajuk induk ini harus ditentukan di sisi server web, dan catatan DNS harus berisi catatan yang benar, yang cocok dengan nama host dan alamat ip server web.

Jadi, misalkan kita sudah memiliki satu situs web pada port 80 di IIS. Kami perlu menambahkan situs kedua di port yang sama..

Di konsol manajemen IIS, buat situs kedua (Tambah Situs web) Dengan nama Testite , file siapa yang akan disimpan di direktori c: \ inetpub \Testite (nama host belum ditentukan).

Setelah Anda mengklik "OK," sebuah peringatan akan muncul yang menyatakan bahwa Anda tidak dapat menggunakan penjilidan *: 80 untuk dua situs, mis. hanya satu dari mereka yang dapat bekerja sekaligus.

Kami setuju dengan peringatan ini. Jadi, kami memiliki situs kedua, juga terkait dengan port 80, tetapi Anda tidak dapat memulai tanpa menghentikan situs pertama.

Untuk membuat ikatan unik, tentukan nama yang berbeda untuk situs kedua (Nama Host). Klik RMB di situs Testite dan pilih item menu Edit Binding. Pilih penjilidan yang diinginkan dan klik Edit.

Di lapangan Tuan rumah Nama tentukan nama host unik yang harus diakses pengguna, misalnya TestSite.

Anda juga dapat mengonfigurasi pengikatan dari baris perintah. Dalam contoh ini, untuk IIS 7 dan yang lebih baru, perintah pengaturan yang mengikat akan terlihat seperti ini:

C: \ Windows \ System32 \ inetsrv \ appcmd.exe mengatur situs /site.name:"TestSite "/+bindings.►protocol='http',bindingInformation='*:80:TestSite ']

Sekarang Anda dapat memulai situs web kedua.

Yang masih harus dilakukan adalah menambahkan alias untuk server di DNS (catatan A atau CNAME) yang menunjukkan alamat IP dari server web atau namanya.

Buat CNAME entri untuk nama TestSite dapat dilakukan menggunakan konsol DNS (dnsmgmt.msc), tentukan nama domain server IIS Anda sebagai FQDN dari host target.

Anda juga dapat membuat catatan seperti itu menggunakan PowerShell:

Add-DnsServerResourceRecordCName -HostNameAlias ​​web-srv1.contoso.loc -Nama situs uji -ZoneName contoso.loc

Sekarang di browser, coba buka situsnya http: // TestSite. Itu harus berhasil dibuka.

Beberapa poin berguna lainnya perlu disebutkan.

Jika Anda menggunakan server IIS lokal, pemetaan nama situs ke alamat IP server dilakukan melalui file C: \ Windows \ system32 \ drivers \ etc \ hosts.

Pengaturan binding disimpan dalam file konfigurasi IIS (C: \ Windows \ System32 \ inetsrv \ config \ applicationHost.config) di bagian         

Dalam contoh kami, bagian ini berisi data berikut:
























Dengan analogi, Anda dapat meng-host dan menjalankan beberapa ratus situs pada port yang sama pada server web IIS.