Home Sonstiges IIS IIS und Hostheader
IIS und Hostheader PDF Drucken E-Mail
Benutzerbewertung: / 0
SchwachPerfekt 
Sonstige - IIS
Geschrieben von: Fumus   
Mittwoch, 08. Juli 2009 um 08:07

Erst kürzlich bin ich wieder darauf gestoßen… Web Entwickler sahen sich fragend ein, als ich erklärte was ein Hostheader ist und wie man diesen im IIS verwendet. Hier nochmal in Kürze erklärt.

 

Das Web und DNS

Ein Webserver kann mehr als ein Web hosten. Jedes Web braucht allerdings eine einzigartige “ID”. Natürlich verweisen wir im Web nicht einfach auf eine ID, sondern auf einen Namen wie www.sql-meets-sharepoint.de. Sobald ein Webuser die URL aufruft, wird ein DNS Server gefragt, welche IP Adresse hinter der URL steckt. Immerhin funktioniert das gesamt Web prinzipiell nur über IP Adressen. Ein DNS erleichtert uns die Aufgabe sich IP Adressen zu merken. So wird z.B bei der URL www.sql-meets-sharepoint.de die IP Adresse xxx.xxxx.xxxx.xxx ausgegeben. Was aber wenn wir auf dem gleichen Rechner ein weiteres Web hosten möchten? Immerhin teilt der DNS Server dem Webuser die gleiche IP Adresse mit, aber letztendlich soll ein anderes Web erscheinen… Der Hostheadereintrag im IIS ermöglicht dem Webserver die aufgerufene URL so zu interpretieren, dass er dem Besucher, die passende Website liefert… passend?

Das eindeutige Web

Der Webserver besitzt 3 Möglichkeiten eine Website eindeutig zu machen:

  1. Die IPAdresse
  2. Der Port
  3. Der Hostheader

Die Regel

Jedes Web auf einem Webserver besitzt eine Kombination aus diesen  3 Möglichkeiten. Es gilt jedoch dabei eine Regel zu beachten: Die Kombination muss eindeutig sein!

Bsp:

Web IP Adresse Port Hostheader  
www.sql-meets-sharepoint.de 85.129.12.83 80    
blog.fumus 85.129.12.83 80 blog.fumus.de  
mssql.fumus.de 85.129.12.83 80 mssql.fumus.de  
ssp.moss.de 85.129.12.83 11111    
admin.moss.de 85.129.12.83 80   gestoppt!!

Jede dieser Websites ist durch die Kombination eindeutig, mit Ausnahme des letzten Webs. Hier entsteht ein Konlikt mit einer anderen Website. Das Anlegen eines weiteren Webs führt dazu, dass es zwar im IIS angelegt wird, aber auch sofort gestoppt wird, da der Webserver keine eindeutige Zuordnung feststellen kann.

Leider sind IP Adressen unter IPv4 Mangelware und man besitzt evtl auch nur eine einzige IP Adresse, geschweige denn Strato oder 1und1 hätte Millionen IP Adressen frei auf Lager.  Mit  IPv6 wird sich das deutlich ändert, was allerdings noch ein wenig dauern wird. Somit ist die besten und auch schnellste Methode dem Web einen Hostheader zuzuweisen. Ein Port scheidet aus Benutzerfreundlichkeit aus. Oder möchten sie die Google Site mit http://202.65.102.83:8883 aufrufen ? Die Vergabe von Hostheadern ist lediglich bei administrativen Websites üblich, d.h. Webuser sollen nicht unbedingt darüber stolpern.

IIS 6 und IIS7 Hostheader

Die Einstellungen der Hostheader wird im IIS 6 in den Eigenschaften der Website definiert. Im IIS 7 dagegen finden die Einstellungen dazu in den Bindungen.

iis6 hosheader iis7 hostheader
IIS 6 Hostheader: Eigenschaften der Website IIS 7 Hostheader: Bindung der Website

HTTPS und FTP

Diese beiden Protokolle sind eine Besonderheit, denn sie mögen bzw kennen keinen Hostheader. Lediglich im FTP Server 7.0 besteht die Möglichkeit Hostheader zu hinterlegen. Das wird jedoch mehr oder weniger durch einen Trick realisiert. dazu nachzulesen unter: LINKA AUF FTP.

Wer mehrere Websites über https auf dem gleichen Webserver mit einer IP Adresse betreiben will, muss auf andere Ports ausweichen. Der Standardport für https ist 443. Jeder Browser kennt diesen Port, so dass es unnötig ist diesen an die URL anzuhängen. Jeder andere Port muss in der URL per URL:Port angehängt werden.

Bspw: https://meinweb:4430/default.aspx

Würde man den Port im Browser weglassen, wird man sofort auf das Webverwiesen,dem der Port 443 zugewiesen wurde.

TIPPS

Der Hostheader muss zwingend exakt so lauten, wie das Web aufgerufen wird. http://www.sql-meets-sharepoint.de ist nicht dasselbe wie http://sql-meets-sharepoint.de!

Ports können bis zu Zahl ca 64000 vergeben werden. Vergeben Sie keine Zahl unter 2048, da hier bereist viele Ports für andere Dienste reserviert sind.

Bsp: DNS 53 ; FTP 21; SMB 123; RDP 3889; SMTP 25, POP3 110; NNTP 119

LAST_UPDATED2
 
SEO by Artio