匯出 (0) 列印
全部展開

設定適用於多個網站的 Web 角色

更新日期: 2013年11月

經由在服務定義檔 (ServiceDefinition.csdef) 中使用 Sites 項目,您可以設定 Web 角色支援多個網站和 Web 應用程式。您可以在 Internet Information Services (IIS) 7.0 中使用網站、應用程式與虛擬目錄功能來達成這個目的。這些功能可讓 Azure 中的每個 Web 角色支援多個網站和應用程式的組態。

根據預設,會使用 Sites 項目建立新專案。在 Sites 節點中,您可以藉由加入 Site 節點來加入其他 ASP.NET 網站或 Web 應用程式。

Azure 並不會在角色中執行的網站與應用程式之間加諸安全性界限。唯一可供設定的界限是存在於系統管理和非系統管理使用者之間。當您在考量網站的安全性時,這可能會有影響。例如,如果某個使用者的網站是針對託管服務使用 HTTPS 憑證,則相同 Web 角色中其他使用者的網站就能夠存取該網站的 HTTPS 憑證。

如果您必須在一個具有數個使用者的 Web 角色上裝載不同的網站,就應該使用 VM 角色,並設定 IIS 隔離界限,這是為每個網站提供適當安全性所必要的設定。

如需有關 IIS 如何管理網站的詳細資訊,請參閱設定網頁伺服器以提供內容 (IIS 7.0)

如需在 Web 角色中設定多個網站的逐步說明範例,請參閱 Windows Azure 平台訓練課程中的<練習 1:註冊網站、應用程式與虛擬目錄>。

如需 ServiceDefinition.csdef 檔案中之 XML 項目的說明,請參閱<Azure 服務定義結構描述 (.csdef 檔)>。

note附註
Sites element is only available by using the Windows Azure SDK version 1.3 or above.

下面步驟是假設您已經安裝 Visual Studio 2010 和 Windows Azure Tools for Visual Studio,並且已經建立具有一個 Web 角色的雲端專案,而您要在其中加入其他網站。

使用下面程序在 Azure 上的 Web 角色中設定多個網站和 Web 應用程式。

使用下面程序在 Azure 上的 Web 角色中設定其他網站。

  1. 在 Visual Studio 的 [方案總管] 中,以滑鼠右鍵按一下您的方案,然後按一下 [加入]

  2. 按一下 [新網站]

  3. 在精靈中填寫資料以建立新的網站專案。

  4. 在 [方案總管] 中,以滑鼠右鍵按一下新的網站專案,然後按一下 [發行網站]

  5. [發行網站] 對話方塊中,按一下 [確定]

  1. 開啟雲端專案的 ServiceDefinition.csdef 檔案。

  2. WebRoleSites 項目底下,將下面 XML 程式碼複製到現有的 Site 項目後面。

    <Site name="web-site-name" physicalDirectory="relative-location">
      <Bindings>
        <Binding name="binding-name" endpointName="endpoint-identifier" hostHeader="custom-domain-name" />
      </Bindings>
    </Site>
    
  3. 修改 Site 項目的 namephysicalDirectory 屬性,以反映您的新網站的名稱以及網站專案的位置。

    Tip提示
    physicalDirectory 屬性值是相對於服務組態檔的位置。如果您複製此 XML 程式碼,就必須修改 physicalDirectory 屬性值,以反映您的應用程式資料夾結構。例如,如果您的 ServiceConfiguration.csdef 檔案是位於 C:\projects\CloudProject\ServiceConfiguration.csdef,而內含您的新網站的資料夾是位於 C:\projects\NewWebSite,則 physicalDirectory 屬性中的相對路徑為 "..\NewWebSite"

  4. 修改 Binding 項目的 nameendpointName 屬性,以符合現有的網站。

  5. 修改 hostHeader 屬性,為您的新網站指定在原始端點上的主機名稱。主機標頭中的名稱會用來為新網站定址,以區分它與其他網站。如需本機測試,請修改 Hosts 檔案,將該主機名稱指向回送位址 127.0.0.1。

  1. 開啟雲端專案的 ServiceDefinition.csdef 檔案。

  2. SitesWebRole 項目底下,將下面 XML 程式碼複製到現有的 Site 項目後面。

    <Site name="web-site-name" physicalDirectory="relative-location">
      <Bindings>
        <Binding name="binding-name" endpointName="endpoint-identifier" />
      </Bindings>
    </Site>
    
  3. 修改 Site 項目的 namephysicalDirectory 屬性,以反映您的新網站的名稱以及網站專案的相對位置。

  4. Endpoints 集合中加入新的 InputEndpoint 項目。將 name 屬性修改成新的值,將 protocol 屬性設定為 httphttps,並將 port 屬性設定為會用來存取新網站的連接埠編號。

      <InputEndpoint name="new-endpoint-identifier" protocol="http-or-https" port="port-number" />
    
    
  5. 修改 Binding 項目的 nameendpointName 屬性,以符合新的端點。

當您建立 Web 角色時,您會建立含有一個 Web 角色 (設定為網站) 的雲端專案。下面程序會說明如何將執行相同 Web 應用程式程式碼的其他網站加入至 Web 角色。

  1. 開啟雲端專案的 ServiceDefinition.csdef 檔案。

  2. WebRoleSites 項目底下,複製下面的 XML 程式碼。

    <Site name="application-name" physicalDirectory="relative-location">
      <Bindings>
        <Binding name="binding-name" endpointName="endpoint-identifier" hostHeader="custom-domain-name" />
      </Bindings>
    </Site>
    
  3. Site 項目的 physicalDirectory 屬性設定為 Web 角色專案的路徑 (相對於服務組態檔的相對路徑),並將 name 屬性設定為 Web 應用程式的新名稱。使用 Binding 項目的 hostHeader 屬性來指定您的其他網站在原始端點上的主機名稱。

  4. 如需本機測試,請修改 Hosts 檔案,將該主機名稱指向回送位址 127.0.0.1。

當您建立 Web 角色時,您會建立含有一個 Web 應用程式 (設定為網站) 的雲端專案。下面程序會說明如何將虛擬應用程式加入至 Web 角色。

  1. 在 Visual Studio 的 [方案總管] 中,以滑鼠右鍵按一下您的方案,然後按一下 [加入]

  2. 按一下 [新增專案]

  3. 選取一個 Web 應用程式範本,並在精靈中填寫資料以建立新的 Web 應用程式專案。

  4. 在 [方案總管] 中,以滑鼠右鍵按一下新的 Web 應用程式,然後按一下 [建置]

  1. 開啟雲端服務的 ServiceDefinition.csdef 檔案。

  2. WebRoleSites 項目底下,將 VirtualApplication 項目加入至現有網站的 Site 項目。使用虛擬應用程式的名稱來填入 name 屬性,並將 physicalDirectory 屬性設定為 Web 應用程式專案的路徑 (相對於服務組態檔的相對路徑)。

    <Site name="Web">
       <VirtualApplication name="application-name" physicalDirectory="relative-location" /></Site>
    
  3. 若要存取虛擬應用程式,請在主要網站的 URI 後面附加名稱屬性的值。例如,如果主要網站是以 http://www.contoso.com/ 來存取,則名為 example 的虛擬應用程式就可以在 http://www.contoso.com/example/ 的位置存取。

另請參閱

顯示:
© 2014 Microsoft