All posts tagged 'iis7' | The Will Will Web

The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

IIS7 如何關閉特定目錄的執行權限(與 IIS6 比較)

若網站中有那種需要讓使用者上傳檔案的目錄,都一律建議將這些目錄設定成完全沒有執行權限,在早期的 IIS6 要將特定目錄的執行權限設定為「」是非常直覺的(如下圖示),不過由於 IIS7 整個架構的改變反而讓許多人找不到設定「執行權限」的地方,以下就是一個小提醒,讓大家能夠設定出更安全的站台環境。

... 繼續閱讀 ...

如何使用 Visual Studio 2010 的「單鍵發行」功能 (MsDeploy)

以往在部署網站的時候都有許多手動的步驟需介入,對於許多對 IIS / SQL 不太熟悉的新手來說部署網站變成一件非常困難且危險的事。這次 Visual Studio 2010 對於 ASP.NET 網站部署的能力大大的提升,它透過 Web Deploy API 直接與 IIS 溝通,可在發行的同時除了將網站安裝進 IIS 之外,還可以設定目錄權限、變更 web.config 內容、建立應用程式、應用程式集區、IIS 細部設定、安裝組件進 GAC、安裝憑證、設定機碼、建立資料庫、…. 等,非常強大的部署機制且與 IIS7 完美整合。

... 繼續閱讀 ...

IIS7 靜態內容壓縮的運作過程詳解

前陣子有人問說 IIS7 靜態內容壓縮為何無法運作,當我抽空研究之後發現一些有趣的現象,在 IIS7 的靜態內容壓縮功能在第一次透過瀏覽器下載網頁時並不會進行壓縮,而是要有第二次 HTTP Request 時才會對該內容進行壓縮,而這個時候才會真的耗用 CPU 資源進行檔案壓縮,壓縮完之後才會將壓縮內容回應到用戶端。

... 繼續閱讀 ...

將 ASP.NET 網站部署在 UNC 路徑上最重要的步驟

如果要將 ASP.NET 網站安裝在遠端的 UNC 路徑上,在設定 IIS 時除了一般檔案的存取權限外,最重要的就是 ASP.NET 的執行權限是否有正確設定,由於所有置於 UNC 路徑上的 .NET 應用程式都會預設套用 LocalIntranet 群組,所以你無法將 ASP.NET 佈署在 UNC 路徑上,除非自行新增 .NET 安全性原則。

... 繼續閱讀 ...

如何檢視 IIS7 各工作者處理序正在執行的要求列表

在以前 IIS6 的時候為了要看有哪些人在看哪些網頁必須要透過 IIS Diagnostic Tools 的 Request Viewer 工具來查看(詳見 如何查看目前 IIS6 有多少人在看哪些網頁 文章),到了 IIS7 這些功能都已經內建,讓你非常容易就能查出目前網站到底有哪些網頁正在執行或使用者正在下載哪些檔案。

... 繼續閱讀 ...

如何讓 IIS6 與 IIS7 強迫 ASP.NET 收到指定的 Host 標頭

上週在處理一件 IIS 問題時意外發現這個詭異的設定,他讓我的網站透過 Response.Redirect 轉向時無論如何都會轉到固定網址,讓我的程式行為大亂,還好大叔我有練過 (天啊, 我變大叔了),透過 adsutil.vbs 查詢出一個十分詭異 SetHostName 屬性,這個難得的經驗當然要好好記錄一下。

... 繼續閱讀 ...

解決在 Visual Studio 中因為權限不足而無法建置網站的問題

前陣子遇到一個很怪的問題,在正常的安裝下竟然有個專案從 SVN 版本庫簽出後無法正確安裝至我本機的 IIS7 中執行,甚至於無法在 Visual Studio 執行建置(Build),而且錯誤的狀況都是跟權限有關,但我花了好一段時間才將這個問題解決,原來就是卡在一個很小的地方沒注意到。

... 繼續閱讀 ...

利用 [伺服器管理] 無法新增或移除角色或功能的問題 (IIS7)

前幾天再安裝設定 Windows Server 2008 主機時,在安裝到 .NET Framework 3.5 功能時無論如何都無法安裝成功的情況,連新增或移除特定 IIS 角色服務也都會失敗,整個錯誤訊息 (如下圖) 就是無法理解,花了幾個小時的時間才發現因為 IIS7 共用設定的關係讓所有與 IIS7 相關的功能或角色服務都無法安裝成功!

... 繼續閱讀 ...

如何讓 IIS6 / IIS7 中同站台不同應用程式間共用 Session 資料

在 Web Farm 環境下部署網站需要關注的細節可不少,在部署大型網站的時候 IIS 這部分到底要算 IT 的領域還是開發人員(Developer)的領域其實分不太清楚,像要在「同一個站台」區分「不同應用程式」且還要能讓 Session 彼此互通,這到底應該歸誰管呢?這可不是用「ASP.NET 開發伺服器」可以模擬出來的,而 IT 人員如果不會寫程式應該也不知該如何是好,這也是我認為 ASP.NET 開發人員應該多熟悉 IIS 的原因。

... 繼續閱讀 ...

如何讓 IIS7 的存取記錄(Logs)從緩衝區強制寫入到磁碟

前幾天我們公司的一個網站專案上線,由於是第一天上線且經常使用的網站使用者又多達數萬人,也因此第一天上線時狀況頗多,所以需要收集各式紀錄,包括 EventLog, IIS Logs, URLScan Logs, … 等,但唯讀 IIS7 的 Logs 常常抓不到最新的資料,那是因為 IIS 的 Logs 預設都有緩衝(Buffer)機制,因此 IIS 的存取紀錄都會延遲寫入磁碟,所以若直接複製 Logs 檔案將不會是最新資料,大部分人都會利用 IISRESET 重新啟動 IIS 來取得最新的 Logs,但這並非正規的作法,今天我分享另一個技巧。

... 繼續閱讀 ...