通過(guò)Windows IIS服務(wù)訪問(wèn)阿里云NAS
互聯(lián)網(wǎng)信息服務(wù)(IIS)可以像訪問(wèn)本地?cái)?shù)據(jù)一樣訪問(wèn)SMB文件系統(tǒng)上的數(shù)據(jù),并提供Web服務(wù)和FTP服務(wù),實(shí)現(xiàn)網(wǎng)站存儲(chǔ)與計(jì)算分離。本文介紹如何配置IIS訪問(wèn)NAS文件系統(tǒng)。
前提條件
已創(chuàng)建SMB文件系統(tǒng)并添加掛載點(diǎn)。具體操作,請(qǐng)參見(jiàn)創(chuàng)建文件系統(tǒng)和添加掛載點(diǎn)。
已安裝WinSCP工具。
背景信息
目前Windows Server仍然是非常流行的網(wǎng)站構(gòu)建平臺(tái)。有不少用戶(hù)選擇阿里云ECS Windows實(shí)例構(gòu)建網(wǎng)站服務(wù),將網(wǎng)站內(nèi)容資源集中存儲(chǔ)在一個(gè)高可靠、高吞吐的SMB文件系統(tǒng)上,且計(jì)算資源和存儲(chǔ)資源都支持按需彈性擴(kuò)容。
IIS提供的FTP服務(wù)也同樣有著非常廣泛的需求。很多Web站點(diǎn)管理員通過(guò)FTP來(lái)遠(yuǎn)程管理Web站點(diǎn)的內(nèi)容,同時(shí)還有很多用戶(hù)希望使用Windows虛擬機(jī)上的FTP服務(wù)在廣域網(wǎng)和阿里云之間傳輸和共享文件。
本文以IIS 7.5(Windows Server 2008 R2)的設(shè)置為例,介紹阿里云文件存儲(chǔ)NAS如何為阿里云ECS Windows實(shí)例提供單節(jié)點(diǎn)的Web服務(wù)和FTP服務(wù)。您也可以使用阿里云負(fù)載均衡服務(wù)來(lái)構(gòu)建多服務(wù)器節(jié)點(diǎn)的彈性容錯(cuò)的站點(diǎn)。更多信息,請(qǐng)參見(jiàn)阿里云負(fù)載均衡。
本文檔操作步驟中已提出安全性建議,但不能作為完整的安全配置和實(shí)現(xiàn)方案。您需要承擔(dān)安全方面的所有最終責(zé)任,您可以從系統(tǒng)級(jí)別(如設(shè)置防火墻、ECS實(shí)例安全組和及時(shí)安裝操作系統(tǒng)補(bǔ)丁)和服務(wù)級(jí)別(如使用阿里云的各個(gè)安全產(chǎn)品)來(lái)全面保障自己Web服務(wù)和數(shù)據(jù)的安全性。
出于安全和管理的考慮,本案例中新增一個(gè)普通用戶(hù)(iis_user)。在提供FTP服務(wù)或者在Windows Server2016上運(yùn)行IIS Web服務(wù)時(shí),請(qǐng)使用該用戶(hù)而不是系統(tǒng)管理員訪問(wèn)數(shù)據(jù)。
安裝Windows IIS
如下步驟以Windows Server 2008 R2為例,介紹如何使用服務(wù)器管理器添加IIS角色并安裝IIS。
不同版本W(wǎng)indows操作系統(tǒng)上安裝IIS,請(qǐng)參見(jiàn)安裝IIS和ASP.NET模塊(Windows Server 2012和Windows Server 2012 R2)。
在Windows客戶(hù)端,選擇 。
在服務(wù)器管理器對(duì)話框左側(cè)導(dǎo)航欄,單擊角色,然后單擊添加角色。
在添加角色向?qū)?/b>對(duì)話框左側(cè)導(dǎo)航欄,單擊服務(wù)器角色,選中Web 服務(wù)器(IIS)。
在添加角色向?qū)?/b>對(duì)話框左側(cè)導(dǎo)航欄,單擊角色服務(wù),為Web服務(wù)器(IIS)選擇需安裝的角色服務(wù)。
除默認(rèn)已選中的服務(wù)外,還需選中ASP、FTP 服務(wù)器等,用于FTP服務(wù)和演示動(dòng)態(tài)網(wǎng)頁(yè)腳本。
單擊下一步,按照提示完成安裝。
訪問(wèn)SMB文件系統(tǒng)
您的Web資源及配置文件可以集中存儲(chǔ)在SMB文件系統(tǒng)共享目錄(默認(rèn)為myshare)上。您可以通過(guò)設(shè)置權(quán)限組來(lái)確保當(dāng)前Web服務(wù)器可以讀寫(xiě)訪問(wèn)SMB文件系統(tǒng)。
打開(kāi)Windows文件管理器,輸入\\file-system-id.region.nas.aliyuncs.com\myshare訪問(wèn)SMB文件系統(tǒng)。其中:
file-system-id.region.nas.aliyuncs.com為SMB文件系統(tǒng)的掛載點(diǎn)地址。關(guān)于如何獲取SMB文件系統(tǒng)的掛載點(diǎn)地址,請(qǐng)參見(jiàn)查看掛載點(diǎn)地址。
myshare為SMB文件系統(tǒng)的默認(rèn)共享目錄,不支持修改。
在SMB文件系統(tǒng)的默認(rèn)共享目錄(myshare目錄)下創(chuàng)建www目錄,用來(lái)存儲(chǔ)網(wǎng)站文件。
如下示例,在myshare\www目錄下創(chuàng)建靜態(tài)網(wǎng)頁(yè)index.html文件和動(dòng)態(tài)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>
此示例動(dòng)態(tài)獲取并顯示當(dāng)前時(shí)間。
設(shè)置Windows IIS Web服務(wù)
在Windows服務(wù)器,選擇 。
在左側(cè)導(dǎo)航欄,選擇 ,單擊基本設(shè)置。
在編輯網(wǎng)站對(duì)話框中,配置物理路徑并單擊確定。
在物理路徑文本框中輸入Web資源在阿里云NAS上的存儲(chǔ)路徑,如\\file-system-id.region.nas.aliyuncs.com\myshare\www。其中,file-system-id.region.nas.aliyuncs.com為SMB文件系統(tǒng)的掛載點(diǎn)地址,請(qǐng)根據(jù)實(shí)際情況替換。
說(shuō)明Windows IIS默認(rèn)通過(guò)IIS應(yīng)用程序賬號(hào)和用戶(hù)組訪問(wèn),不支持Windows系統(tǒng)桌面用戶(hù)直接使用在當(dāng)前user session中映射的網(wǎng)絡(luò)驅(qū)動(dòng)器如(Z:\),否則可能出現(xiàn)訪問(wèn)失敗的錯(cuò)誤。
可選:修改注冊(cè)表及添加iis_user用戶(hù)。
如果是Windows Server 2016操作系統(tǒng),則需要修改注冊(cè)表及添加iis_user用戶(hù)才能實(shí)現(xiàn)IIS和阿里云NAS協(xié)同工作;如果是Windows Server 2019操作系統(tǒng),在修改注冊(cè)表及添加iis_user用戶(hù)后還需要執(zhí)行PowerShell命令New-SmbGlobalMapping進(jìn)行掛載,解決dll無(wú)法加載的問(wèn)題,才能實(shí)現(xiàn)IIS和阿里云NAS協(xié)同工作。操作步驟如下:
修改SMB客戶(hù)端的注冊(cè)表項(xiàng)。
在Windows服務(wù)器,選擇
。在注冊(cè)表編輯器左側(cè)導(dǎo)航欄,選擇
,右鍵選擇 。設(shè)置數(shù)值名稱(chēng)為AllowInsecureGuestAuth,數(shù)值數(shù)據(jù)為1,單擊確定。
指定一個(gè)本地用戶(hù)來(lái)訪問(wèn)存儲(chǔ)在阿里云NAS上的Web資源。
在Windows服務(wù)器,選擇
。在左側(cè)導(dǎo)航欄,選擇
,單擊基本設(shè)置。在編輯網(wǎng)站對(duì)話框中,單擊連接為。
選擇特定用戶(hù),單擊設(shè)置。
設(shè)置用戶(hù)名、密碼,單擊確定。
此處用戶(hù)設(shè)置為iis_user。
使用PowerShell命令New-SmbGlobalMapping掛載SMB文件系統(tǒng)。
# 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
其中,
****
為操作系統(tǒng)administrator的密碼;file-system-id.region.nas.aliyuncs.com
為SMB文件系統(tǒng)的掛載點(diǎn)地址,請(qǐng)根據(jù)實(shí)際值替換。說(shuō)明通過(guò)IIS使用NAS共享目錄中的文件時(shí),會(huì)造成IIS后臺(tái)多次訪問(wèn)NAS共享目錄。雖然每次訪問(wèn)時(shí)間不長(zhǎng),但是多次疊加可能造成客戶(hù)端等待時(shí)間較長(zhǎng)。具體解決方案,請(qǐng)參見(jiàn)如何提升IIS訪問(wèn)NAS的性能。
IIS訪問(wèn)Js、CSS等網(wǎng)頁(yè)程序相關(guān)的內(nèi)容非常頻繁,建議您將這些內(nèi)容存儲(chǔ)在本地。
參照以上內(nèi)容后仍然產(chǎn)生寫(xiě)入失敗等問(wèn)題,請(qǐng)您參考通過(guò)安裝和配置AD域解決Windows Server 2016的IIS無(wú)法加載SMB文件卷文件的問(wèn)題處理,或聯(lián)系NAS技術(shù)支持進(jìn)行咨詢(xún)。
驗(yàn)證設(shè)置結(jié)果。
通過(guò)本地瀏覽器訪問(wèn)localhost或者127.0.0.1的index.html和test.asp,如果顯示如下頁(yè)面,表示IIS已正常執(zhí)行Web服務(wù)。您還可以設(shè)置阿里云ECS安全組和Windows防火墻來(lái)確保Web訪問(wèn)安全。
設(shè)置Windows IIS FTP服務(wù)
在Windows服務(wù)器,選擇 。
安裝SSL證書(shū)。
在當(dāng)前主機(jī)的主頁(yè)中,雙擊服務(wù)器證書(shū)。
在服務(wù)器證書(shū)頁(yè)面,單擊創(chuàng)建自簽名證書(shū)。
設(shè)置服務(wù)器證書(shū)名稱(chēng),單擊確認(rèn)。
設(shè)置FTP站點(diǎn)。
在左側(cè)導(dǎo)航欄,雙擊網(wǎng)站。
在網(wǎng)站頁(yè)面中,單擊添加FTP站點(diǎn)。
在添加FTP站點(diǎn)頁(yè)面,配置相關(guān)信息,單擊下一步。
在物理路徑文本框中輸入Web資源在阿里云NAS上的存儲(chǔ)路徑,如\\file-system-id.region.nas.aliyuncs.com\myshare\www。其中,file-system-id.region.nas.aliyuncs.com為掛載點(diǎn)地址,請(qǐng)根據(jù)實(shí)際情況替換。
您可以根據(jù)需求選取myshare目錄下的其它目錄,也可以通過(guò)設(shè)置多個(gè)FTP站點(diǎn)利用不同的端口來(lái)提供對(duì)不同目錄的訪問(wèn)。
在綁定和SSL設(shè)置對(duì)話框中,設(shè)置相關(guān)信息,單擊下一步。
配置如下:
端口:默認(rèn)端口為21,此處出于安全考慮使用2222端口。
SSL證書(shū):選擇已創(chuàng)建的SSL證書(shū)。
配置身份驗(yàn)證和授權(quán)信息,單擊完成。
配置如下:
身份驗(yàn)證:設(shè)置為基本。
授權(quán):選擇允許訪問(wèn)的用戶(hù),此處以iis_user為例。
權(quán)限:設(shè)置用戶(hù)讀寫(xiě)權(quán)限。
設(shè)置FTP防火墻。
在當(dāng)前主機(jī)主頁(yè)中,雙擊FTP防火墻支持,設(shè)置數(shù)據(jù)通道端口范圍,單擊應(yīng)用。
返回服務(wù)器管理器頁(yè)面,重啟FTP服務(wù),使端口范圍配置生效。
在ECS控制臺(tái)上,設(shè)置ECS實(shí)例的安全組,用來(lái)限制FTP客戶(hù)端的訪問(wèn)。具體操作,請(qǐng)參見(jiàn)創(chuàng)建安全組。
通過(guò)FTP客戶(hù)端WinSCP訪問(wèn)FTP站點(diǎn)。
打開(kāi)WinSCP。
單擊Yes,接受服務(wù)器證書(shū)。
設(shè)置協(xié)議類(lèi)型、端口號(hào)和登錄信息。
輸入密碼,即授權(quán)用戶(hù)(iis_user)的密碼。
建立數(shù)據(jù)連接,服務(wù)器讀取和傳輸遠(yuǎn)程目錄信息。
創(chuàng)建連接后,即可上傳或下載文件。
常見(jiàn)問(wèn)題
IIS如何寫(xiě)日志到SMB文件系統(tǒng)?
如果需要將IIS日志寫(xiě)入SMB文件系統(tǒng),需要先使用SYSTEM身份掛載SMB文件系統(tǒng)再進(jìn)行寫(xiě)入,否則會(huì)報(bào)錯(cuò)。具體操作,請(qǐng)參見(jiàn)以SYSTEM身份掛載文件系統(tǒng)解決SQLServer使用SMB文件系統(tǒng)的問(wèn)題
使用SYSTEM身份成功寫(xiě)入日志后,會(huì)自動(dòng)創(chuàng)建W3SVC1日志文件夾存儲(chǔ)相關(guān)日志文件。