Több IIS webhely ugyanazon a porton és az IP-n

Alapértelmezés szerint egy üres webhely jön létre az Internet Information Services (IIS) szerver telepítésekor. ”Alapértelmezett háló hely"Ami megfelel egy általános internetes portnak - TCP 80. Az IIS szempontjából ez azt jelenti, hogy ez a hely (kötés) csatlakozik a 80-as porthoz. A webhely megnyitásához írja be az IIS-kiszolgáló nevét (“http: // web-srv1”) vagy annak IP-címét (“http: / /10.10.0.88 ”). Egy IIS webszerver tíz és száz helyet képes kiszolgálni, és technikai szempontból lehetséges több olyan webhelyet futtatni, amelyek ugyanazon a porton hallgatnak és válaszolnak (80 vagy 443). Az IIS Manager felületéből azonban egyáltalán nem nyilvánvaló, hogy ugyanazon a gazdagépen elindíthat egy második webhelyet anélkül, hogy azt egy másik porthoz kötné (például 8080). Ebben a cikkben megértjük, hogyan lehet több helyet futtatni ugyanazon az IIS-kiszolgálón úgy, hogy ugyanahhoz a porthoz és az IP-címhez legyen kötve.

Tehát, ahogy korábban elmondtuk, sok webhely elindítható ugyanazon az IIS-kiszolgálón, azonban ahhoz, hogy az IIS helyesen terjessze a HTTP-kéréseket, minden helyet valamilyen egyedi értékkel kell azonosítani. Az IIS webhelyek esetében három attribútumból áll, amelyek kombinációjának minden webhelyen egyedinek kell lennie. Ez a következő:

  • TCP portszám
  • IP-cím
  • host név

A futó helyekre vonatkozó információkat az IIS-metabázis ServerBindings attribútumában tárolják IP formátumban: Port: Gazdagép neve. Így ha több helyet kell futtatnia ugyanazon a porton és IP-címen, akkor egyedi Host fejlécet kell használnia. Mi ez? A gazdafejléc a szervernek küldött HTTP-kérés része, amelyet az ügyfél küld, jelezve, hogy melyik webhelyhez kíván hozzáférni. Ennek megfelelően ezt a host fejlécet meg kell adni a webszerver oldalán, és a DNS rekordnak tartalmaznia kell a helyes rekordot, amely megegyezik a web szerver gazdagép nevével és ip címével..

Tegyük fel, hogy van már egy webhelyünk az IIS 80-as portján. Hozzá kell adnunk egy második webhelyet ugyanahhoz a porthoz..

Az IIS felügyeleti konzolban hozzon létre egy második webhelyet (hozzáad weboldal). Névvel TestSite , amelynek fájljait a könyvtár tárolja c: \ inetpub \TestSite (a hostnév még nincs megadva).

Miután rákattintott az „OK” -ra, figyelmeztetés jelenik meg, amely szerint a kötés nem használható *: 80 két helyszínen, azaz csak egyik dolgozhat egyszerre.

Egyetértünk ezzel a figyelmeztetéssel. Tehát van egy második webhelyünk, amely szintén a 80-as porthoz van kötve, de nem indíthatja el az első webhely leállítása nélkül.

Egyedi kötés létrehozásához adja meg a második webhely másik nevét (Gazdagép neve). Kattintson az RMB elemre a webhelyen TestSite és válassza a menüpontot szerkesztése kötések. Válassza ki a kívánt kötést és kattintson a gombra szerkesztése.

A mezőn vendéglátó név adjon meg egy egyedi gazdanevet, amelyhez a felhasználóknak hozzáférniük kell, például a TestSite.

Az összerendelést a parancssorból is konfigurálhatja. Ebben a példában az IIS 7 és újabb verziók esetén a kötési beállítási parancs így néz ki:

C: \ Windows \ System32 \ inetsrv \ appcmd.exe webhely beállítása / site.name:"TestSite "/+bindings.►protocol='http',bindingInformation='*:80:TestSite ']

Most elindíthatja a második weboldalt.

Csak annyit kell tennie, hogy egy álnevet adjon hozzá a kiszolgálóhoz a DNS-ben (A vagy CNAME rekord), feltüntetve a webszerver IP-címét vagy nevét..

teremt CNAME a TestSite név beírható a DNS-konzol segítségével (dnsmgmt.msc), adja meg az IIS-kiszolgáló domain nevét a célgazda FQDN-jének.

A rekordot a PowerShell használatával is létrehozhat:

Add-DnsServerResourceRecordCName -HostNameAlias ​​web-srv1.contoso.loc -Név tesztelő oldal -ZoneName contoso.loc

Most próbáljon meg megnyitni a böngészőt a webhelyen http: // TestSite. Sikeresen kell megnyílnia.

Néhány további említésre méltó hasznos pont.

Ha helyi IIS szervert használ, akkor a helynevek leképezését a kiszolgáló IP-címére fájl segítségével hajtják végre C: \ Windows \ system32 \ driver \ etc \ gazdagépek.

A kötési beállításokat az IIS konfigurációs fájlban tárolják (C: \ Windows \ System32 \ inetsrv \ config \ applicationHost.config) szakaszban         

Példánkban ez a szakasz a következő adatokat tartalmazza:
























Analógia útján több száz webhelyet is üzemeltethet és futtathat ugyanazon porton az IIS webkiszolgálón.