IIS Express On Windows Vista

於 windows vista 下創立一個簡單的伺服器


  • 先於 [控制台] -> [開啟或關閉 Windows 功能] (所有內建 IIS 相關模組關閉)

  • 於 windows 官網中下載 iis express

  • 也可於 iis express GUI 官網中下載 GUI 介面

  • 用 cmd 移到 iis express 預設資料夾 C:\Program Files\IIS Express\ 下

  • 鍵入底下 cmd

iisexpress.exe "/path=C:\Users\jkw\Documents\My Web Sites\JKW" /port=80

表示開啟 port 80 (http) 並將引導至 C:\Users\jkw\Documents\My Web Sites\JKW 下,如此一來,便可以完成直接導向的功能,為簡易伺服器的產生,可以直接用瀏覽器開啟 http://localhost:80/ 來測試。

  • 若是上列 cmd 出現錯誤,可以使用底下的 cmd (將引號拿掉,將 = 改成 :)
iisexpress /path:c:\Users\jkw\Dropbox\Public\JianKaiWang\ /port:80
  • 或是更直接利用 .config 紀錄的 website 名稱 (參考底下 applicationhost.config 檔案),鍵入底下 cmd
iisexpress /site:Personal
  • 若使用 iis express GUI 介面,則安裝 IIS 則需要完全採用預設路徑,其作用與 cmd 幾乎類似

  • 而若要想在多個 IP 位置允許連入,則需要改 IIS express 的指定為 IP 及 port,修改預設路徑 C:\User\Documents\jkw\文件\IISExpress\config\applicationhost.config,利用 Ctrl+F 尋找 bindings,便可以看出 Windows 利用類似 xml 格式紀錄每一個 site,於 binding information 下新增所有相關的 IP,如下:

binding protocol="http" bindingInformation=":80:localhost"
binding protocol="http" bindingInformation=":80:127.0.0.1"
binding protocol="http" bindingInformation=":80:10.0.2.15"
  • 設定完畢後,便進行 firewall 的設定,將傳入規則中 port 80,8080 等開啟,可以利用小紅傘來設定

  • 之後可以再利用底下 cmd

iisexpress.exe "/path=C:\Users\jkw\Documents\My Web Sites\JKW" /port=80 進行重啟
  • 若是開不起來,可以開啟 cmd 鍵入底下指令來嘗試修改 http.sys 檔案,如下
netsh http add urlacl url=http://localhost:80/ user=everyone
netsh http add urlacl url=http://127.0.0.1:80/ user=everyone
netsh http add urlacl url=http://100.0.0.1:80/ user=everyone (100.0.0.1 為預設)

配合 Virtualbox 進行 port 轉至 VM 內的 httpd (CentOS-based)


  • 首先需要先從 host OS (WinVista) 下,找出 NAT 連接的乙太網路卡 VirtualBox Host-Only Network,舉例而言為 192.168.56.1,而此 VM 的 httpd port 為 80

  • 之後於 VM CentOS 下利用 ifconfig 找出改 NAT 給予的 ip,舉例為 10.0.2.15

  • 於 Host OS 開啟 VirtualBox,進入[設定值] -> [網路] -> [NAT 介面卡] -> [連接埠轉送] -> [新增 rule] -> 主機 ip 輸入 192.168.56.1 (host 看到的部分) -> 主機連接埠預設為 9000 (此需用來與 vista os 的 forwarding port 連接) -> 客機 IP 為 10.0.2.15 (VM 內自己看到的) -> port 80 (httpd) -> [確定] -> 啟動 VM -> [ WinVista 允許防火牆]

  • 設定 host firewall,將傳入規則中 port 7373 等開啟,準備給外部連入使用

  • 於 host OS 中,直接利用 cmd 輸入底下命令

netsh interface portproxy add v4tov4 listenport=7373 listenaddress=100.0.0.1 connectport=9000 connectaddress=192.168.56.1
  • 如此便可以完成外部連入 ip 100.0.01 的 7373 port,藉由 Virtualbox 內網卡的虛擬 IP 192.168.56.1 中的 port 9000 傳入給 VM OS 對應的 IP 10.0.2.15 中的 80 port

Host 的完整啟動


  • 開機後,先啟動 Virtual Box,開啟 VM1 (CentOS)

  • 啟動 IISexpressGUI,啟動 iisexpress.exe

  • 將 portproxy 啟動

關閉 IIS express


  • 開啟 command,並鍵入
taskkill.exe /IM iisexpress.exe

results matching ""

    No results matching ""