廖常武
(南京工業(yè)職業(yè)技術(shù)大學(xué),南京 210023)
使用Windows Server 2016 IIS 提供的虛擬主機(jī)[1]功能,可以在一臺(tái)服務(wù)器創(chuàng)建多個(gè)Web 網(wǎng)站[2],虛擬主機(jī)有主機(jī)名、IP 地址和TCP 端口號(hào)三種方式。 網(wǎng)站的識(shí)別信息有主機(jī)名、IP 地址與TCP 端口號(hào)三個(gè)參數(shù),當(dāng)這三個(gè)參數(shù)有一個(gè)不同時(shí),即可創(chuàng)建一個(gè)Web網(wǎng)站。 每個(gè)網(wǎng)站分別擁有各自獨(dú)立的主機(jī)名、IP 地址與TCP 端口號(hào)[3]。 當(dāng)用戶在訪問(wèn)這些網(wǎng)站時(shí),就如同訪問(wèn)不同的服務(wù)器,不會(huì)影響網(wǎng)站的功能。
(1)使用主機(jī)名創(chuàng)建多個(gè)網(wǎng)站。 使用主機(jī)名創(chuàng)建虛擬網(wǎng)站是常見的創(chuàng)建虛擬網(wǎng)站的方法。 如果服務(wù)器只有一個(gè)IP 地址,但申請(qǐng)了DNS 域名[4],使用DNS 服務(wù)器對(duì)主機(jī)名進(jìn)行域名解析,在DNS 服務(wù)器中設(shè)置主機(jī)A 記錄,一個(gè)IP 地址對(duì)應(yīng)多個(gè)主機(jī)名,就可以添加多個(gè)不同主機(jī)名的網(wǎng)站,用戶訪問(wèn)時(shí)仍使用域名。
可以使用2 臺(tái)DNS 服務(wù)器維持一個(gè)域名的域名解析, 一臺(tái)為主DNS 服務(wù)器、 一臺(tái)為輔助DNS 服務(wù)器,申請(qǐng)域名時(shí)需要確定2 臺(tái)DNS 服務(wù)器的主機(jī)名和IP 地址。首先安裝主DNS 服務(wù)器,配置主DNS 服務(wù)器的正向查找區(qū)域和反向查找區(qū)域,添加相應(yīng)的主機(jī)記錄,一個(gè)IP 地址可以對(duì)應(yīng)多個(gè)主機(jī)名A 記錄。 然后安裝輔助DNS 服務(wù)器, 輔助DNS 服務(wù)器自動(dòng)從主DNS讀取數(shù)據(jù),2 臺(tái)DNS 服務(wù)器可以起到冗余的作用。
使用Windows Server 2016 的IIS 創(chuàng)建Web 網(wǎng)站。 定義網(wǎng)站名稱和應(yīng)用程序池,每個(gè)應(yīng)用程序池都是一個(gè)獨(dú)立的運(yùn)行環(huán)境,系統(tǒng)會(huì)為每個(gè)新建網(wǎng)站自動(dòng)創(chuàng)建一個(gè)應(yīng)用程序池,應(yīng)用程序池的名稱與網(wǎng)站名相同,然后讓此新網(wǎng)站在這個(gè)擁有獨(dú)立環(huán)境的新應(yīng)用程序池內(nèi)運(yùn)行,網(wǎng)站運(yùn)行不受其他應(yīng)用程序池內(nèi)的網(wǎng)站的影響,使得網(wǎng)站更加穩(wěn)定。確定網(wǎng)站的主目錄、默認(rèn)文檔和主機(jī)名,主目錄是指保存網(wǎng)站所有網(wǎng)頁(yè)的文件夾,默認(rèn)文檔是訪問(wèn)網(wǎng)站的首頁(yè)文件名,網(wǎng)站的主機(jī)名是在瀏覽器地址欄輸入的域名。在客戶端瀏覽器輸入主機(jī)名即可正常訪問(wèn)所創(chuàng)建的網(wǎng)站。
例如, 設(shè)服務(wù)器的IP 地址是210.28.96.66,DNS域名為niit.edu.cn。 在DNS 服務(wù)器中添加2 條主機(jī)A記錄,IP 地址為210.28.96.66, 主機(jī)名分別為mail 和jwxx。 在IIS 中使用創(chuàng)建jwxx 和mail 網(wǎng)站,主機(jī)名分別是mail.niit.edu.cn 和jwxx.niit.edu.cn,設(shè)置每個(gè)網(wǎng)站的主目錄和默認(rèn)文檔,則在客戶端使用http://mail.niit.edu.cn 和http://jwxx.niit.edu.cn 可以訪問(wèn)網(wǎng)站。
(2)使用多個(gè)IP 地址創(chuàng)建多個(gè)網(wǎng)站。 如果服務(wù)器擁有多個(gè)IP 地址,服務(wù)器的一塊網(wǎng)卡綁定多個(gè)IP 地址,就可以為每個(gè)IP 地址創(chuàng)建一個(gè)虛擬網(wǎng)站,為每個(gè)網(wǎng)站設(shè)置主目錄和默認(rèn)文檔,在客戶端瀏覽器輸入IP地址來(lái)訪問(wèn)相應(yīng)的網(wǎng)站。
例如, 設(shè)服務(wù)器有2 個(gè)IP 地址210.28.96.76 和210.28.96.86,網(wǎng)卡添加這2 個(gè)IP 地址,在IIS 中創(chuàng)建info 和auto 網(wǎng)站,TCP 端口均為80, 設(shè)置每個(gè)網(wǎng)站的主目錄和默認(rèn)文檔, 則在客戶端使用http://210.28.96.76 和http://210.28.96.86 可以訪問(wèn)網(wǎng)站。
(3)使用TCP 端口號(hào)創(chuàng)建多個(gè)網(wǎng)站。 使用TCP 端口號(hào)創(chuàng)建虛擬網(wǎng)站,如果服務(wù)器只有一個(gè)IP 地址,可以使用同一個(gè)IP 地址、 不同的TCP 端口號(hào)來(lái)創(chuàng)建虛擬網(wǎng)站, 為每個(gè)端口號(hào)創(chuàng)建一個(gè)虛擬網(wǎng)站,Web 服務(wù)器利用端口號(hào)來(lái)區(qū)別每一個(gè)網(wǎng)站,但用戶訪問(wèn)網(wǎng)站時(shí)必須加上相應(yīng)的TCP 端口號(hào)。
例如,設(shè)服務(wù)器IP 地址是210.28.96.10,在IIS 中創(chuàng)建port1t 和port2 網(wǎng)站,TCP 端口分別是8000 和8080,設(shè)置每個(gè)網(wǎng)站的主目錄和默認(rèn)文檔,則在客戶端使用http://210.28.96.10:8000 和http://210.28.96.10:8080 可以訪問(wèn)網(wǎng)站。 使用Windows Server 2016 的IIS設(shè)置的虛擬主機(jī),如圖1 所示。
圖1 虛擬主機(jī)安裝結(jié)果
在Web 服務(wù)器中安裝ftp,ftp 的帳戶使用Windows Server 的用戶帳戶,將每個(gè)Web 網(wǎng)站的主目錄與ftp 的主目錄設(shè)置為同一個(gè)目錄,每個(gè)ftp 帳戶映射一個(gè)ftp 主目錄,如圖2 所示。
磁盤的文件系統(tǒng)設(shè)置為ntfs, 主目錄的ntfs 權(quán)限設(shè)置規(guī)則:映射的管理帳戶的權(quán)限為完全控制,其他帳戶的權(quán)限為拒絕。當(dāng)管理帳戶登錄ftp 服務(wù)器時(shí),對(duì)主目錄具有完全控制權(quán)限,可以刪除、復(fù)制主目錄的文件,實(shí)現(xiàn)對(duì)網(wǎng)站網(wǎng)頁(yè)的動(dòng)態(tài)管理,但該ftp 帳戶不能訪問(wèn)其他網(wǎng)站的主目錄,通過(guò)這種方式實(shí)現(xiàn)每個(gè)帳戶只能對(duì)自己的網(wǎng)站網(wǎng)頁(yè)進(jìn)行管理。
圖2 ftp 帳戶和主目錄的映射關(guān)系
例如,設(shè)Windows Server 2016 有n個(gè)帳戶User1、User2,…,Usern,在ftp 服務(wù)器中User1 的ftp 主目錄是E:ftprootLocalUserUser1,其ftp 權(quán)限為“讀取”和“寫入”,設(shè)置ntfs 權(quán)限為完全控制,其他用戶的ntfs 權(quán)限為拒絕,這樣可以禁止其他用戶訪問(wèn)該文件夾。
常見的ftp 服務(wù)器有Windows Server 2016 自帶的ftp 和Serv-U ftp 服務(wù)器軟件。
使用Windows Server 2016 ftp 服務(wù)器的用戶隔離技術(shù),每個(gè)帳戶只對(duì)自己管理的主目錄具有完全控制權(quán)限,但對(duì)其他目錄的權(quán)限均為拒絕,這樣可以確保每個(gè)帳戶的主目錄只能是由一個(gè)帳戶管理,保證文件的安全性。Serv-U 是在Windows 平臺(tái)和Linux 平臺(tái)廣泛使用的ftp 服務(wù)器軟件,提供安全的文件管理、文件傳輸和文件共享的解決方案。 使用Serv-U 軟件的SU-ftp-Server-Windows-v15.1.7 版本,可以管理Web網(wǎng)站的網(wǎng)頁(yè)文件。
如, 將Serv-U 服務(wù)器的域設(shè)置為niit.edu.cn,群組選擇配置Windows 群組, 用戶帳戶即為Windows Server 的用戶帳戶。 將Serv-U 的ftp 根目錄設(shè)置為與Web 網(wǎng)站的主目錄為同一目錄。 Serv-U 的目錄訪問(wèn)權(quán)限設(shè)置為列表、創(chuàng)建、重命名、刪除,文件權(quán)限設(shè)置為讀、寫、追加、重命名、刪除、執(zhí)行。 在ntfs 中設(shè)置其他用戶對(duì)該主目錄沒(méi)有訪問(wèn)權(quán)限, 以其他帳戶登錄Serv-U,進(jìn)入文件夾則會(huì)彈出錯(cuò)誤信息。
默認(rèn)情況下,ftp 服務(wù)器并未限制用戶上傳文件的容量。 因此,當(dāng)ftp 用戶一旦擁有寫入權(quán)限時(shí),就可以向ftp 服務(wù)器上傳任意大小的文件, 從而導(dǎo)致服務(wù)器的硬盤空間可能迅速被占用。 為了保護(hù)硬盤空間,確保磁盤空間不被用戶上傳的文件存儲(chǔ)滿,可以啟用磁盤配額功能來(lái)限制每個(gè)用戶使用磁盤空間的大小。為用戶設(shè)置了磁盤配額以后,當(dāng)用戶上傳的文件超出空間限制或者到警告等級(jí)時(shí), 系統(tǒng)將自動(dòng)發(fā)警告,提示用戶超出空間配額, 上傳操作不能完成等信息,并彈出錯(cuò)誤信息。
使用Windows Server 2016 網(wǎng)絡(luò)操作系統(tǒng), 應(yīng)用虛擬主機(jī)技術(shù)在一臺(tái)物理計(jì)算機(jī)上建立多個(gè)Web 服務(wù)器,使用Serv-U 或IIS 創(chuàng)建一個(gè)ftp 服務(wù)器,把Web服務(wù)器和ftp 服務(wù)器的主目錄設(shè)置為同一個(gè)目錄,設(shè)置Windows Server 帳戶管理的ftp 服務(wù)器的主目錄有寫入權(quán)限,同時(shí)設(shè)置該帳戶對(duì)主目錄的ntfs 權(quán)限為完全控制,在客戶端以Windows 帳戶登錄ftp 服務(wù)器,允許刪除、修改網(wǎng)站網(wǎng)頁(yè)文件,通過(guò)Windows 的磁盤配額功能,對(duì)上傳的文件容量進(jìn)行限制。通過(guò)這種方式,實(shí)現(xiàn)了將一臺(tái)計(jì)算機(jī)虛擬為多臺(tái)Web 服務(wù)器, 并由客戶端的ftp 進(jìn)行管理。