The Will Will Web

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

如何替 ELMAH 錯誤紀錄頁面加上 IP 來源限制存取設定 (IIS)

ELMAH (Error Logging Modules and Handlers) 專門用來紀錄 ASP.NET 網站執行時期的錯誤,對維護網站軟體品質來說有很大的幫助。不過 ELMAH 記錄的資訊過於詳細,一般來說我們都還是會設定各種存取限制,例如透過限定使用者或角色的方式。本篇文章我將說明如何透過 IIS7 / IIS8 內建的 IP Security 模組,來限制特定 IP 來源才能存取 ELMAH 錯誤紀錄頁面。

... 繼續閱讀 ...

解決IIS在「啟用 32 位元應用程式」之後網站無法執行的問題

雖然在 2014 年的今天,依然還是有許多第三方元件無法正確執行在 64 位元的 CPU 架構下。當我們想要將 ASP.NET 網站跑在 32 位元的應用程式集區上時,IIS 的應用程式集區勢必做出設定,雖然這是個非常容易的設定,但有時候網站卻會在應用程式集區設定完「啟用 32 位元應用程式」之後立刻陣亡,搭配著的晦澀不明的錯誤訊息,真的會有點吐血。接下來,就讓我們一起探究問題的根源吧!

... 繼續閱讀 ...

部署內部網站並使用 Windows 驗證登入的標準作業流程

上週部署了一個內部網站,部署的過程由於用到很多工具與技術,其步驟稍稍有點繁瑣,特別費心整理了一下標準安裝與設定的步驟,以供後續再次部署時參考。本文會牽涉到 IIS 7.5、ASP.NET 4.5、.NET 4.5.1、SQL Server 2008 R2、Web Deploy 3.5 等技術,且該網站是以 Windows 驗證為主要驗證方法。

... 繼續閱讀 ...

ASP.NET MVC 4 在 .NET 4.0 與 .NET 4.5 的專案範本差異

昨天在【ASP.NET MVC 4 開發實戰】課程中,學員們發現了一個問題,就是在實作與測試 ASP.NET MVC 的 Routing (路由) 機制的過程中,發現有個功能有些人做得出來,有些人卻做不出來,當我前去查看時也沒立即發現問題癥結,中午休息的空檔終於找到的這個細微的差異之處,所以還是寫篇文章提醒正準備開始使用 .NET Framework 4.5 的 ASP.NET MVC 開發人員。

... 繼續閱讀 ...

使用 PowerShell 在 IIS7 / IIS8 所有站台新增 robots.txt 檔案

還記得我去年寫過的【個資保護、Google Hacking 與 robots.txt 的關係與設定技巧】文章嗎?在公司內部的測試環境設定 robots.txt 非常重要,因為你必須阻止 Google 與各家搜尋引擎來到你的測試網站大肆搜索,否則那些開發到一半的網站、那些可能含有不完整的資訊,全部都會揭露給無心人與有心人知道。不過,無論我提過幾次這點重要性,總是有人會「忘記」在部署網站時順手加上這個檔案,三不五時的亡羊補牢其實也蠻讓人頭疼的,今天我寫了一支 PowerShell 指令檔,就是要來徹底解決這個問題。

... 繼續閱讀 ...

在 IIS7 新增【中文域名】的網站站台無須先轉換 PunyCode

有時候知道太多東西也好像不是見好事,像我多年前在幫客戶設定一個〔中文域名〕的時候,就是遇到設定網站前要先將中文域名轉成 PunyCode 才能設定的情況,今天我公司同事由於要替客戶新增一個中文域名的網站,因為他沒設定過,便跑來問我應該如何設定。我就跟他講有 PunyCode 這件事,然而設定完成之後 IIS7 裡的站台完全打不開,而且查不出原因,這才發現原來 IIS7 早已內建支援中文域名,設定的時候無須轉換網址就能正確設定,這件事,還是寫篇文章來提醒大家吧。

... 繼續閱讀 ...

如何在 IIS7 / IIS7.5 安裝 SSL 憑證(含 IIS7 匯入憑證的 Bug)

先前我曾經寫過一篇【購買與安裝 SSL 憑證完全攻略 (以 IIS7 為例) 】文章,文章裡鉅細靡遺的解說如何從購買 SSL 憑證到安裝 SSL 憑證到 IIS 上的過程,而且都有詳細的圖文解說,不過我最近卻發現當透過 IIS7/IIS7.5 管理員匯入 SSL 憑證且將憑證設定為「不允許匯出此憑證」時,就會導致該憑證無法正確繫結到站台的狀況,所以特別撰文提醒各位如何才能夠安全的管理憑證使用,又能正常運作於 IIS7 之中。

... 繼續閱讀 ...

ASP.NET 開發人員應使用 IIS Express 進行開發與測試

IIS 7.5 Express 是一套針對 ASP.NET 開發人員特別設計的 IIS 7.5 版本,我發現有許多人並不知道他的存在,甚至於不知道何時要使用他,就覺得這只是另一個提供 ASP.NET 執行環境的程式而已,在 Visual Studio 2010/2008/2005 內建的 ASP.NET 開發伺服器 (Cassini) 已經使用很久,用來作為開發測試之用也沒什麼問題,有必要將開發環境的伺服器修改成使用 IIS 7.5 Express 來執行嗎?今天我就提出幾個重要的觀點。

... 繼續閱讀 ...

如何才能在 IIS 7.5 使用 Windows PowerShell Snap-In 功能

在 IIS 7.0 的時候,由於需要額外安裝 Windows PowerShell Snap-In for IIS 7.0 才能在 PowerShell 裡管理 IIS 7 的相關站台與設定,而且安裝好之後還會在「程式集」中建立一個 IIS PowerShell Management Console 的捷徑,開啟之後就可以立即開始使用這些好用的 Cmdlet。不過此功能到了 IIS 7.5 已經內建在作業系統裡,感覺好像是件好事,不過它卻把 Snap-In 的捷徑移除了,我在不熟悉 Windows PowerShell 的時候還真的找不到開啟的方法,費了些功夫才研究出來。

... 繼續閱讀 ...