前幾天看到了這篇文章感覺非常實用,也因此讓我想起之前曾經遇過的另一個問題,由於我公司內部的測試環境經常需要對外提供服務給客戶測試,但是對外的固定 IP 只有一個,且公司內部的測試機又好幾台,如果不用 Reverse Proxy 機制就無法對外共用一個 80 Port ( HTTP ) 給客戶使用,也因此我們用這種方式運作很久了,不過這樣的部署架構有個小問題,也就是無法正確取得用戶端的來源 IP 位址。
... 繼續閱讀 ...
由於每個 IIS 版本之間多少都會有功能上的增進與架構上的差異,像我們在寫 ASP.NET MVC 的時候有時後就需要依據 IIS 的版本來做出一些特別的判斷,所以必須透過程式來取得正在執行的 IIS 版本資訊,在 ASP.NET 裡取得正在執行的 IIS 版本資訊原本是一件容易的事,不過當遇到了跟我們一樣的特殊情況就沒那麼簡單了,有興趣的就繼續看下去。
... 繼續閱讀 ...
要在 IIS 6.0 下安裝一個測試用的 SSL 憑證使用內建的工具可以說是非常麻煩的,不過 IIS 6.0 Resource Kit Tools 裡面有個 SelfSSL 工具可以非常快速且方便的幫你建立站台的 SSL 金鑰,並且直接將站台所有 SSL 相關設定都處理好,對於要進行 SSL 的安裝與測試來說非常的方便。
... 繼續閱讀 ...
使用 Web Deployment Tools 工具 ( 又稱 Web Deploy 或 MS Deploy ) 進行網站部署是在簡單不過的事,有興趣的人可以參考 介紹好用工具:Web Deployment Tool 1.0 ( 附心得筆記 ) 文章或 ASP.NET MVC 2 開發實戰 書籍【第11章 安裝部署】的說明,不過若更新網站時希望可以跳過更新一些重要檔案,例如 :Web.config 等,這時就必須加上特別的參數才行,這參數非常特別必須另做筆記才不會忘記。
... 繼續閱讀 ...
若網站中有那種需要讓使用者上傳檔案的目錄,都一律建議將這些目錄設定成完全沒有執行權限,在早期的 IIS6 要將特定目錄的執行權限設定為「無」是非常直覺的(如下圖示),不過由於 IIS7 整個架構的改變反而讓許多人找不到設定「執行權限」的地方,以下就是一個小提醒,讓大家能夠設定出更安全的站台環境。
... 繼續閱讀 ...
製作網站難免會做到關於檔案上傳的功能,如果為了安全考量可能會限制其特定副檔名才能上傳,以免使用者上傳了不該上傳的檔案類型(例如 *.exe 執行檔),不過光是檢查檔案結尾的副檔名真的就安全了嗎?那可不一定!如果你現在還在使用 IIS6 的話,那你可能要小心了,因為最近知名3C連鎖賣場燦坤傳出資料外洩的案件就是因為這個弱點所致。
... 繼續閱讀 ...
昨天同事將一個 ASP.NET 4.0 的網站安裝到客戶的 IIS6 主機上 (測試環境),結果過程非常不順利,他們曾經一度覺得客戶的主機不知道經過幾隻手蹂躪過了(因為有好多人在共用 Administrator 帳號)進而產生排斥安裝在客戶主機以及 “為什麼我們要用 ASP.NET 4” 的感覺,不過在一群人的努力之下最後還是克服了困難,我特別因此寫下筆記,相信這些問題有其他人也可能會遇到。
... 繼續閱讀 ...
前陣子曾經有段時間無法理解網路負載平衡管理員中的「清空停止」功能到底是如何運作的,因為依照官方的說法原本應該非常簡單的:”當清空時,主機繼續處理已開啟的連線,並且在沒有其他使用中的連線時停止叢集操作”,依照這段描述來看,似乎是那麼的合情合理,而且非常適合在正式的環境使用,但我之前只要使用清空停止功能時卻沒有一次可以正常的「停止」,永遠都處理「正在清空」的階段。
... 繼續閱讀 ...
前陣子有人問說 IIS7 靜態內容壓縮為何無法運作,當我抽空研究之後發現一些有趣的現象,在 IIS7 的靜態內容壓縮功能在第一次透過瀏覽器下載網頁時並不會進行壓縮,而是要有第二次 HTTP Request 時才會對該內容進行壓縮,而這個時候才會真的耗用 CPU 資源進行檔案壓縮,壓縮完之後才會將壓縮內容回應到用戶端。
... 繼續閱讀 ...