Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

Konfigurieren einer Webrolle für mehrere Websites

Letzte Aktualisierung: Oktober 2011

Mit dem Sites-Element in der Dienstdefinitionsdatei "ServiceDefinition.csdef" können Sie die Webrolle konfigurieren, um mehrere Websites und Webanwendungen zu unterstützen. Dies wird mit den Funktionen für Websites, Anwendungen und virtuelle Verzeichnisse in Internetinformationsdienste (IIS) 7.0 erreicht. Mithilfe dieser Funktionen kann jede Webrolle in Windows Azure die Konfiguration für mehrere Websites und Webanwendungen unterstützen.

Neue Projekte werden standardmäßig mit dem Sites-Element erstellt. Im Sites-Knoten können Sie durch Hinzufügen von Site-Knoten weitere ASP.NET-Websites oder -Webanwendungen hinzufügen.

Windows Azure implementiert keine Sicherheitsgrenze zwischen den Websites und Anwendungen, die in der Rolle ausgeführt werden. Die einzige konfigurierbare verfügbare Grenze besteht zwischen Administratoren und Benutzern ohne Administratorberechtigungen. Dies kann Auswirkungen in Bezug auf die Sicherheit der Websites haben. Wenn die Website eines Benutzers z. B. ein HTTPS-Zertifikat für den gehosteten Dienst verwendet, könnte die Website eines anderen Benutzers in der gleichen Webrolle auf das HTTPS-Zertifikat für diese Website zuzugreifen.

Wenn Sie verschiedene Websites in einer Webrolle mit mehreren Benutzern hosten müssen, sollten Sie die VM-Rolle verwenden und die IIS-Isolationsgrenzen konfigurieren, die zum Bereitstellen der entsprechenden Sicherheit für jede Website erforderlich ist.

Weitere Informationen zur Verwaltung von Sites in IIS finden Sie unter Konfigurieren eines Webservers zum Bereitstellen von Inhalt (IIS 7).

Ein Beispiel mit den Schritten zum Konfigurieren mehrerer Websites in einer Webrolle finden Sie unter Übung 1: Registrieren von Websites, Anwendungen und virtuellen Verzeichnissen (möglicherweise in englischer Sprache) im Schulungskurs für Windows Azure Platform.

Beschreibungen der XML-Elemente in der Datei "ServiceDefinition.csdef" finden Sie unter Windows Azure-Dienstdefinitionsschema.

noteHinweis
Das Sites-Element steht nur in Windows Azure SDK Version 1.3 oder höher Verfügung.

In den folgenden Schritten wird vorausgesetzt, dass Sie Visual Studio 2010 und die Windows Azure Tools für Visual Studio installiert und ein Cloud-Projekt mit einer Webrolle erstellt haben, der Sie zusätzliche Websites hinzufügen.

Gehen Sie wie folgt vor, um mehrere Websites und Webanwendungen in einer Webrolle in Windows Azure zu konfigurieren.

Gehen Sie wie folgt vor, um zusätzliche Websites in einer Webrolle in Windows Azure zu konfigurieren.

  1. Klicken Sie in Visual Studio im Projektmappen-Explorer mit der rechten Maustaste auf die Projektmappe, und klicken Sie dann auf Hinzufügen.

  2. Klicken Sie auf Neue Website.

  3. Geben Sie im Assistenten die entsprechenden Informationen ein, um das neue Websiteprojekt zu erstellen.

  4. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das neue Websiteprojekt, und klicken Sie dann auf Website veröffentlichen.

  5. Klicken Sie im Dialogfeld Website veröffentlichen auf OK.

  1. Öffnen Sie die Datei "ServiceDefinition.csdef" für das Cloud-Projekt.

  2. Kopieren Sie unter dem Sites-Element für die WebRole den folgenden XML-Code nach dem vorhandenen Site-Element.

    <Site name="web-site-name" physicalDirectory="relative-location">
      <Bindings>
        <Binding name="binding-name" endpointName="endpoint-identifier" hostHeader="custom-domain-name" />
      </Bindings>
    </Site>
    
  3. Ändern Sie die name- und physicalDirectory-Attribute des Site-Elements entsprechend dem Namen der neuen Website und dem Speicherort des Websiteprojekts.

    TipTipp
    Der physicalDirectory-Attributwert verhält sich relativ zum Speicherort der Dienstkonfigurationsdatei. Wenn Sie den XML-Code kopieren, müssen Sie den physicalDirectory-Attributwert ändern, um die Ordnerstruktur der Anwendung widerzuspiegeln. Befindet sich die Datei "ServiceConfiguration.csdef" z. B. unter "C:\projects\CloudProject\ServiceConfiguration.csdef" und der Ordner mit der neuen Website unter "C:\projects\NewWebSite", lautet der relative Pfad im physicalDirectory-Attribut "...\NewWebSite".

  4. Ändern Sie die name- und endpointName-Attribute des Binding-Elements entsprechend der vorhandenen Website.

  5. Ändern Sie das hostHeader-Attribut, um einen Hostnamen für die neue Website auf dem ursprünglichen Endpunkt anzugeben. Die neue Website wird anhand des Namens in den Hostheadern adressiert, um sie von anderen Websites zu unterscheiden. Ändern Sie für die lokalen Tests die Hostdatei, sodass der Hostname auf die Loopbackadresse 127.0.0.1 verweist.

  1. Öffnen Sie die Datei "ServiceDefinition.csdef" für das Cloud-Projekt.

  2. Kopieren Sie unter dem Sites-Element für die WebRole den folgenden XML-Code nach dem vorhandenen Site-Element.

    <Site name="web-site-name" physicalDirectory="relative-location">
      <Bindings>
        <Binding name="binding-name" endpointName="endpoint-identifier" />
      </Bindings>
    </Site>
    
  3. Ändern Sie die name- und physicalDirectory-Attribute des Site-Elements entsprechend dem Namen der neuen Website und dem relativen Pfad des Websiteprojekts.

  4. Fügen Sie der Endpoints-Auflistung ein neues InputEndpoint-Element hinzu. Legen Sie für das name-Attribut einen neuen Wert fest, setzen Sie das protocol-Attribut auf http oder https, und legen Sie für das port-Attribut die Portnummer fest, die für den Zugriff auf die neue Website verwendet wird.

      <InputEndpoint name="new-endpoint-identifier" protocol="http-or-https" port="port-number" />
    
    
  5. Ändern Sie die name- und endpointName-Attribute des Binding-Elements entsprechend dem neuen Endpunkt.

Wenn Sie eine Webrolle erstellen, erstellen Sie ein Cloud-Projekt mit einer Webrolle, die als Website konfiguriert wird. In der folgenden Prozedur wird erläutert, wie Sie der Webrolle zusätzliche Websites hinzufügen, die denselben Webanwendungscode ausführen.

  1. Öffnen Sie die Datei "ServiceDefinition.csdef" für das Cloud-Projekt.

  2. Kopieren Sie unter dem Sites-Element für WebRole den folgenden XML-Code:

    <Site name="application-name" physicalDirectory="relative-location">
      <Bindings>
        <Binding name="binding-name" endpointName="endpoint-identifier" hostHeader="custom-domain-name" />
      </Bindings>
    </Site>
    
  3. Legen Sie das physicalDirectory-Attribut des Site-Elements auf den Pfad des Webrollenprojekts relativ zur Dienstkonfigurationsdatei und das name-Attribut auf einen neuen Namen für die Webanwendung fest. Geben Sie mithilfe des hostHeader-Attributs des Binding-Elements einen Hostnamen für die zusätzliche Website auf dem ursprünglichen Endpunkt an.

  4. Ändern Sie für die lokalen Tests die Hostdatei, sodass der Hostname auf die Loopbackadresse 127.0.0.1 verweist.

Wenn Sie eine Webrolle erstellen, erstellen Sie ein Cloud-Projekt mit einer Webanwendung, die als Website konfiguriert wird. Die folgende Prozedur veranschaulicht, wie der Webrolle eine virtuelle Anwendung hinzugefügt wird.

  1. Klicken Sie in Visual Studio im Projektmappen-Explorer mit der rechten Maustaste auf die Projektmappe, und klicken Sie dann auf Hinzufügen.

  2. Klicken Sie auf Neues Projekt.

  3. Wählen Sie eine Webanwendungsvorlage aus, und geben Sie im Assistenten die entsprechenden Informationen ein, um das neue Webanwendungsprojekt zu erstellen.

  4. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das neue Webanwendungsprojekt, und klicken Sie dann auf Erstellen.

  1. Öffnen Sie die Datei "ServiceDefinition.csdef" für den Cloud-Dienst.

  2. Fügen Sie unter dem Sites-Element für die WebRole ein VirtualApplication-Element zum Site-Element für die vorhandene Website hinzu. Geben Sie für das name-Attribut den Namen der virtuellen Anwendung ein, und legen Sie das physicalDirectory-Attribut auf den Pfad des Webanwendungsprojekts relativ zur Dienstkonfigurationsdatei fest.

    <Site name="Web">
       <VirtualApplication name="application-name" physicalDirectory="relative-location" /></Site>
    
  3. Um auf die virtuelle Anwendung zuzugreifen, fügen Sie den Wert des name-Attributs an den URI der primären Website an. Wenn für den Zugriff auf die primäre Website z. B. http://www.contoso.com/ verwendet wird, greifen Sie auf eine virtuelle Anwendung mit dem Namen example unter http://www.contoso.com/example/ zu.

Siehe auch

Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)

Community-Beiträge

© 2013 Microsoft. Alle Rechte vorbehalten.
facebook page visit twitter rss feed newsletter