Anmelden
Ich möchte für die nächsten 30 Tagen angemeldet bleiben
Deutsch
Several pages in the usergroup are available in English. Click on english to visit these pages.

Veröffentlichungen

Alle Artikel | Suche | Newsfeeds

HTTP Alias und der IIS
Philipp Becker, Mittwoch, 7. März 2007 17:32, Article Rating

Was passiert eigentlich, wenn ein Aufruf eines Portals im Webserver eingeht?

Ruft man beispielsweise dnn URL www.dnn-usergroup.de im eigenen Browser auf so passiert (vereinfacht dargestellt) folgendes:

Der Browser fragt den für ihn zuständigen DNS Server nach der IP Adresse des Rechners www in der Domain dnn-usergroup.de
Der DNS Server liefert den Wert 81.169.130.169 zurück
Der Browser sendet seine Anfrage nunmehr an den Rechner mit der o.g. IP und fragt dort nach, ob der Webserver eine Webseite mit dem URL www.dnn-usergroup.de anbietet
Am Webserver gibt es nun verschiedene Optionen...:

  • der Webserver führt mehrere Webseiten unter der IP Adresse
  • der Webserver muss daher prüfen, ob eine der Webseiten für den URL www.dnn-usergroup.de konfiguriert ist, das geschieht über sog. Hostheader Einstellungen im IIS
  • der Webserver führt nur eine Webseite unter der IP Adresse
Findet der Webserver eine Webseite, die für den mitgesandten URL konfiguriert ist, so leitet er die Anfrage an diese Webseite weiter
Ist nun unter der genannten Webseite ein DotNetNuke Portal erfolgreich konfiguriert so passieren dort nochmals eine Reihe von Dingen, bevor die erste Seite des Portalstatsächlich angezeigt werden kann

Nachdem die Anfrage vom Webserver an die Webseite weitergeleitet worden ist, werden in der Anwendung, in der das DotNetNuke Portal läuft eine Reihe von Ereignissen abgearbeitet, eine der ersten Prüfungen, die in diesem Zusammenhang stattfinden ist die Prüfung, für welchen URL gerade eine Anfrage reinkommt
Im o.g. Fall muss die Anwendung also prüfen, ob für den URL www.dnn-usergroup.de ein Portal existiert, dies geschieht durch eine Abfrage der Datenbanktabelle Alias; in dieser muss in unserem Fall ein Eintrag vorhanden sein, der www.dnn-usergroup.de lautet. Entweder existiert ein solcher Eintrag - dann wird das Portal aufgerufen, dass mit diesem Alias verküpft ist
oder aber ein solcher Eintrag existiert nicht, dann prüft die Anwendung, ob es ein Stammportal in der Anwendung gibt (das Stammportal ist per Default das erste Portal, das mit der Installation eingerichtet wird) und leitet die Anfrage an den ersten Alias des Stammportals weiter. Diese Weiterleitung entspricht technisch gesehen aber einer neuen Anfrage, d.h. der Browser ist gezwungen, seine Anfrage unter dem neuen URL erneut loszuschicken, unser Spiel beginnt also wieder ganz oben beim ersten Punkt.


Zusatzverwirrung: Virtuelle Verzeichnisse

Der Begriff Virtuelles Verzeichniss taucht immer wieder im Zusammenhang mit DNN auf und wird m.E. nach überbewertet. Technisch gesehen, muss ein DNN Portal nicht in einem virtuellen Verzeichnis laufen, entscheidend ist vielmehr, dass für die Webseite im IIS eine Anwendung konfiguriert ist. Das wiederum bedeutet nichts anderes, als dass der IIS Webseitenaufrufe an die für ASP.Net zuständigen dlls routet. Selbst auf einem XP Professional muss kein virtuelles Verzeichnis konfiguriert sein, um DNN erfolgreich zu betreiben, der einzige Hintergrund hierfür dürfte vermutlich der Umstand sein, dass im IIS 5.1 unter Windows XP nur eine IIS Seite gleichzeitig laufen kann - möchte man dort mehrere voneinander getrennte Installationen betreiben, so muss man zwangsläufig den Weg über mehrere virtuelle Verzeichniss gehen. Das aber ist im Grunde nur typisch für Entwickler, die zu Testzwecken auf einem XP mehrere Installtionen parallel betreiben müssen, im wahren Leben kann man auf virtuelle Verzeichnisse getrost verzichten.

Nichts desto trotz: Ist man gezwungen, virtuelle Verzeichniss zu verwenden, so muss auch der Namen des Verzeichnisses Bestandteil des im Portal hinterlegten Aliases sein!


Der Localhost

Die erste Berührung mit DNN hat man als Anwender in aller Regel nach dem Runterladen der Anwendung, wenn man DNN zunächst lokal bei sich auf dem PC installieren möchte. Der eigene Rechner ist meist eine XP Pro Maschine, hier läuft - anders als beim großen Serverbruder Windows 2003 - der IIS 5.1 in einer abgespeckten Version, die nur eine einzige Webseite zuläßt. Wer hier mehrere Webanwendungen parallel betreiben möchte, muss auf virtuelle Verzeichnisse ausweichen.

Der Zugriff über den Browser erfolgt dann über den URL http://localhost/virtuellesVerzeichniss, wobei localhost den lokalen Rechner bezeichnet und virtuellesVerzeichnis das virtuelle Verzeichnis bezeichnet, in dem DNN installiert ist. 

Die Hosts Datei 

Die Hosts Datei ist eine Art Mini Nameserver des Betriebssystems - hier hinterlegte URLs / IP Adressen Paare werden von Windows ausgewertet, bevor ein externer Nameserver abgefragt wird. Die Einschränkung, den lokalen XP Rechner nür über localhost aufzurufen, wird dadurch aufgehoben. Praktisch: Die geltenden Einschränkungen bei TopLevel Domains gelten hier natürlich nicht; man kann also ganz bequem einen Eintrag etwa wie folgt anlegen:

portal.meinedomain.local      127.0.0.1

und entsprechend einen HTTP Alias in DNN anlegen:

portal.meinedomain.local


Die Hosts Datei liegt im Verzeichnis windows\system32\drivers\etc - evtl. muss der Windows Explorer entsprechend eingestellt werden, auch versteckte Systemdateien anzuzeigen.



Was tun, wenn..?

...man über das Intranet auf den Rechner [RECHNERNAME] zugreifen möchte, auf dem DNN in einem virtuellen Verzeichnis [VERZEICHNISNAME] installiert ist?

--> bitte in DNN einen HTTP Alias einrichten, der wie folgt lauten muss: [RECHNERNAME]/[VERZEICHNISNAME]


...man über das Intranet auf den Rechner 192.168.0.1 zugreifen möchte, auf dem DNN in einem virtuellen Verzeichnis [VERZEICHNISNAME] installiert ist?

--> bitte in DNN einen HTTP Alias einrichten, der wie folgt lauten muss: 192.168.0.1/[VERZEICHNISNAME]


...man DNN im Stammverzeichnis des IIS installiert hat und über den lokalen Browser zugriefen möchte?

--> bitte in DNN einen HTTP Alias einrichten, der wie folgt lauten muss: localhost


...man an der Konfiguration des IIS etwas geändert hat und auf sein Portal nicht mehr zugreifen kann?

--> Bitte direkt in der Datenbank in der Tabelle Alias den Eintrag für HTTPAlias entsprechend ändern.

...man mit mehreren Aliasen arbeiten will?

--> Es können beliebig viele Aliase in DNN hinterlegt werden, ganz so, wie man über beliebig viele Hostnamen auf den Webserver zugreifen kann (je nach DNS Konfiguration). Empfehlenswert ist ohnehin, zumindest die Aliase localhost und 192.168.0.1 (als Beispiel für die eigene IP) einzutragen.

...man übers Intranet zugreifen möchte, aber weder einen DNS Server zur Verfügung hat, noch die IP Adresse des Computers immer eingeben möchte?

--> einen entsprechenden Eintrag in der Datei hosts machen. Diese Datei bendet sich im Verzeichnis windows\system32\drivers\etc und kann mit jedem Texteditor bearbeitet werden. Dort z.B. einen Eintrag für 192.168.0.1 auf den Host portal.heimnetz.local machen. Nicht vergessen, dann auch einen einen HTTP Alias in Dnn für portal.heimnetz.local anzulegen!


Fehlersuche

Zum Testen von Konfigurationen empfiehlt es sich, einen statische HTML Seite (test.html) in das RootVerzeichnis von DNN zu legen. Wenn man diese über den Browser aufrufen kann, so kann man zumindest davon ausgehen, dass der IIS richtig konfiguriert ist. Der richtige HTTP Alias für DNN würde dann http://URL_aus_der_Adressleiste/test.html lauten (der rote Teil des URL)

Space
Space Space
Kategorien  

Autoren  

Archiv