互連網資訊服務(IIS)可以像訪問本機資料一樣訪問SMB檔案系統上的資料,並提供Web服務和FTP服務,實現網站儲存與計算分離。本文介紹如何配置IIS訪問NAS檔案系統。
前提條件
背景資訊
目前Windows Server仍然是非常流行的網站構建平台。有不少使用者選擇阿里雲ECS Windows執行個體構建網站服務,將網站內容資源集中儲存在一個高可靠、高吞吐的SMB檔案系統上,且計算資源和儲存資源都支援按需彈性擴容。
IIS提供的FTP服務也同樣有著非常廣泛的需求。很多Web網站管理員通過FTP來遠端管理Web網站的內容,同時還有很多使用者希望使用Windows虛擬機器上的FTP服務在廣域網路和阿里雲之間傳輸和共用檔案。
本文以IIS 7.5(Windows Server 2008 R2)的設定為例,介紹阿里雲Apsara File Storage NAS如何為阿里雲ECS Window執行個體提供單節點的Web服務和FTP服務。您也可以使用阿里雲負載平衡服務來構建多伺服器節點的彈性容錯的網站。更多資訊,請參見阿里雲負載平衡。
本文檔操作步驟中已提出安全性建議,但不能作為完整的安全配置和實現方案。您需要承擔安全方面的所有最終責任,您可以從系統層級(如設定防火牆、ECS執行個體安全性群組和及時安裝作業系統補丁)和服務等級(如使用阿里雲的各個安全產品)來全面保障自己Web服務和資料的安全性。
出於安全和管理的考慮,本案例中新增一個普通使用者(iis_user)。在提供FTP服務或者在Windows Server2016上運行IIS Web服務時,請使用該使用者而不是系統管理員訪問資料。
安裝Windows IIS
如下步驟以Windows Server 2008 R2為例,介紹如何使用伺服器管理員添加IIS角色並安裝IIS。
不同版本Windows作業系統上安裝IIS,請參見安裝IIS和ASP.NET模組(Windows Server 2012和Windows Server 2012 R2)。
在Windows用戶端,選擇 。
在伺服器管理員對話方塊左側導覽列,單擊角色,然後單擊添加角色。
在添加角色嚮導對話方塊左側導覽列,單擊伺服器角色,選中Web 服務器(IIS)。
在添加角色嚮導對話方塊左側導覽列,單擊角色服務,為Web伺服器(IIS)選擇需安裝的角色服務。
除預設已選中的服務外,還需選中ASP、FTP 伺服器等,用於FTP服務和示範動態網頁指令碼。
單擊下一步,按照提示完成安裝。
訪問SMB檔案系統
您的Web資源及設定檔可以集中儲存在SMB檔案系統共用目錄(預設為myshare)上。您可以通過設定許可權組來確保當前Web伺服器可以讀寫訪問SMB檔案系統。
開啟Windows檔案管理工具,輸入\\file-system-id.region.nas.aliyuncs.com\myshare訪問SMB檔案系統。其中:
file-system-id.region.nas.aliyuncs.com為SMB檔案系統的掛載點地址。關於如何擷取SMB檔案系統的掛載點地址,請參見查看掛載點地址。
myshare為SMB檔案系統的預設共用目錄,不支援修改。
在SMB檔案系統的預設共用目錄(myshare目錄)下建立www目錄,用來儲存網站檔案。
如下樣本,在myshare\www目錄下建立靜態網頁index.html檔案和動態ASP指令碼test.asp檔案的操作流程。
Index.html
<HTML> <HEAD> <TITLE>Hello World in HTML</TITLE> </HEAD> <BODY> <CENTER><H1>Hello World!</H1></CENTER> </BODY> </HTML>
此樣本顯示為
Hello World!
。Test.asp
<HTML> <BODY> This page was last refreshed on <%= Now() %>. </BODY> </HTML>
此樣本動態擷取並顯示目前時間。
設定Windows IIS Web服務
在Windows伺服器,選擇 。
在左側導覽列,選擇 ,單擊基本設定。
在編輯網站對話方塊中,配置實體路徑並單擊確定。
在實體路徑文字框中輸入Web資源在阿里雲NAS上的儲存路徑,如\\file-system-id.region.nas.aliyuncs.com\myshare\www。其中,file-system-id.region.nas.aliyuncs.com為SMB檔案系統的掛載點地址,請根據實際情況替換。
說明Windows IIS預設通過IIS應用程式帳號和使用者組訪問,不支援Windows系統案頭使用者直接使用在當前user session中映射的網路磁碟機如(Z:\),否則可能出現訪問失敗的錯誤。
可選:修改註冊表及添加iis_user使用者。
如果是Windows Server 2016作業系統,則需要修改註冊表及添加iis_user使用者才能實現IIS和阿里雲NAS協同工作;如果是Windows Server 2019作業系統,在修改註冊表及添加iis_user使用者後還需要執行PowerShell命令New-SmbGlobalMapping進行掛載,解決dll無法載入的問題,才能實現IIS和阿里雲NAS協同工作。操作步驟如下:
修改SMB用戶端的登錄機碼。
在Windows伺服器,選擇
。在登錄編輯程式左側導覽列,選擇
,右鍵選擇 。設定數值名稱為AllowInsecureGuestAuth,數值資料為1,單擊確定。
指定一個本機使用者來訪問儲存在阿里雲NAS上的Web資源。
在Windows伺服器,選擇
。在左側導覽列,選擇
,單擊基本設定。在編輯網站對話方塊中,單擊串連為。
選擇特定使用者,單擊設定。
設定使用者名稱、密碼,單擊確定。
此處使用者佈建為iis_user。
使用PowerShell命令New-SmbGlobalMapping掛載SMB檔案系統。
# Define clear text string for username and password [string]$userName = 'WORKGROUP\administrator' [string]$userPassword = '****' # Convert to SecureString [securestring]$secStringPassword = ConvertTo-SecureString $userPassword -AsPlainText -Force [pscredential]$credObject = New-Object System.Management.Automation.PSCredential ($userName, $secStringPassword) New-SmbGlobalMapping -LocalPath z: -RemotePath \\file-system-id.region.nas.aliyuncs.com\myshare -Persistent $true -Credential $credObject
其中,
****
為作業系統administrator的密碼;file-system-id.region.nas.aliyuncs.com
為SMB檔案系統的掛載點地址,請根據實際值替換。說明通過IIS使用NAS共用目錄中的檔案時,會造成IIS後台多次訪問NAS共用目錄。雖然每次訪問時間不長,但是多次疊加可能造成用戶端等待時間較長。具體解決方案,請參見如何提升IIS訪問NAS的效能。
IIS訪問Js、CSS等網頁程式相關的內容非常頻繁,建議您將這些內容儲存在本地。
參照以上內容後仍然產生寫入失敗等問題,請聯絡NAS支援人員進行諮詢。
驗證設定結果。
通過本地瀏覽器訪問localhost或者127.0.0.1的index.html和test.asp,如果顯示如下頁面,表示IIS已正常執行Web服務。您還可以設定阿里雲ECS安全性群組和Windows防火牆來確保Web訪問安全。
設定Windows IIS FTP服務
在Windows伺服器,選擇 。
安裝SSL認證。
在當前主機的首頁中,雙擊伺服器憑證。
在伺服器憑證頁面,單擊建立自我簽署憑證。
設定伺服器憑證名稱,單擊確認。
設定FTP網站。
在左側導覽列,雙擊網站。
在網站頁面中,單擊添加FTP網站。
在添加FTP網站頁面,配置相關資訊,單擊下一步。
在實體路徑文字框中輸入Web資源在阿里雲NAS上的儲存路徑,如\\file-system-id.region.nas.aliyuncs.com\myshare\www。其中,file-system-id.region.nas.aliyuncs.com為掛載點地址,請根據實際情況替換。
您可以根據需求選取myshare目錄下的其它目錄,也可以通過設定多個FTP網站利用不同的連接埠來提供對不同目錄的訪問。
在綁定和SSL設定對話方塊中,設定相關資訊,單擊下一步。
配置如下:
連接埠:預設連接埠為21,此處出於安全考慮使用2222連接埠。
SSL認證:選擇已建立的SSL認證。
配置身分識別驗證和授權資訊,單擊完成。
配置如下:
身分識別驗證:設定為基本。
授權:選擇允許訪問的使用者,此處以iis_user為例。
許可權:設定使用者讀寫權限。
設定FTP防火牆。
在當前主機首頁中,雙擊FTP防火牆支援,設定資料通道連接埠範圍,單擊應用。
返回伺服器管理員頁面,重啟FTP服務,使連接埠範圍配置生效。
在ECS控制台上,設定ECS執行個體的安全性群組,用來限制FTP用戶端的訪問。具體操作,請參見建立安全性群組。
通過FTP用戶端WinSCP訪問FTP網站。
開啟WinSCP。
單擊Yes,接受伺服器憑證。
設定協議類型,連接埠號碼和登入資訊。
輸入密碼,即授權使用者(iis_user)的密碼。
建立資料連線,伺服器讀取和傳輸遠程目錄資訊。
建立串連後,即可上傳或下載檔案。