2018年11月6日 星期二

IIS6 轉 IIS7 的設定對應及IIS7問題




虛擬路徑對應
        towns 有台主機要昇級為 windows 2008 server 64bit,當然就是使用IIS7,但在設定上出現了很大的問題,在 towns 管理的站台有用到虛擬路徑(他是要交由程式aspnet_isapi.dll 處理),可是IIS7 要在哪裡設定非常的頭大,沒設好就會出現這樣的錯誤(http 404錯誤 如圖error.jpg),下面會說明 IIS6 的設定與IIS7設定的對應

        在IIS6 中,到 指定站台按滑鼠右鍵==>內容==>主目錄==>設定==>插入萬用字元應用程式對應,執行檔中放入“C:\WINNT\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll”,並取消“確認該檔案是否存在”,如圖iis6set.jpg,設定完成後虛擬路徑會自動交由程式處理,站台就可正常運作了

        在IIS7 中需設定兩個地方

    1. 指定站台==>處理常式對應==>新增萬用字元指令碼對應==>設定執行檔 “C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll”(如圖iis7set.jpg),名稱可自定(ASP.NET-ISAPI-2.0-Wildcard)

    2. 應用程式集區 ==>指定集區按滑鼠右鍵 ==>基本設定 ==>將 “Managed 管線模式”改為“傳統”,如圖iis7set2.jpg

    設定完成後,重新啟動指定站台,問題就處理完成

註1:如果像 towns使用64bit 系統,請將C:\Windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll,也加入萬用字元指令碼對應

註2:.net 4.0也會有相同的問題

相關資料(感謝小舖SteveT大、點部落gipi大及Ruslan大的資訊提供):

http://learn.iis.net/page.aspx/508/wildcard-script-mapping-and-iis-7-integrated-pipeline/

http://www.dotblogs.com.tw/jimmyyu/archive/2009/10/19/11124.aspx

http://www.blueshop.com.tw/board/FUM20050110200833I8T/BRD20100412140941FQP.html

補充:有些情形下,不要設定註1,才會正常,資料提供:黑炭

啟用上層路徑

IIS6 ==>在指定站台按滑鼠右鍵 ==>內容 ==>主目錄 ==>設定 ==>選項 ==>啟用上層路徑

IIS7 ==>在指定站台 ==>選ASP小圖  ==>啟用上層路徑改為True

建立子站台

IIS6 ==>在指定站台下的目錄按滑鼠右鍵 ==>內容 ==>點“建立”

IIS7 ==>在指定站台下的目錄按滑鼠右鍵 ==>轉換成應用程式

建立虛擬目錄

IIS6 ==>在指定站台按滑鼠右鍵 ==>內容 ==>點“新增”==>虛擬目錄

IIS7 ==>在指定站台按滑鼠右鍵 ==>新增虛擬目錄 ==>打入別名及實體路徑

關於語系設定與變更IIS6 中無此功能

IIS7 有支援多種編碼功能,他的設定在 .NET全球化中

 轉址設定

IIS6 ==>在指定站台按滑鼠右鍵 ==>內容 ==>主目錄 ==>某個URL位置重新導向

IIS7 ==> HTTP重新導向 ==>將要求重新導向目的地

註:IIS7發生了怪怪的問題,當 towns使用重新導向的功能後,有兩個站台,都會重新導向 = =,原來是設定相同目錄造成的問題

Log 檔路徑查尋IIS6 ==>在指定站台按滑鼠右鍵 ==>內容 ==>啟用記錄格式 ==>內容 ==>記錄目錄及 記錄檔名稱

預設路徑:C:\WINDOWS(WINT)\system32\LogFiles\

IIS7 ==>點選指定站台 ==>右框中的記錄 ==>記錄檔 ==>目錄 ==>記錄目錄,記錄檔名稱及資料匣找不到

預設路徑:C:\inetpub\logs\LogFiles\

註1:要確認IIS7 Log檔資料匣,要從 站台==>進階設定==>識別碼

註2:直接點站台,看ID

註3:點紀錄 ==> 檢視紀錄檔,會直接開啟檔案路徑

程式集區選擇IIS6 ==>在指定站台按滑鼠右鍵 ==>內容==>ASP.NET==>ASP.NET version 中選擇

IIS7 ==>應用程式集區 ==>在指定的集區上按滑鼠右鍵 ==>內容 ==>基本設定 ==>.NET Framework 版本

windows server 2008 安ASP.NET 1.1相關連結:http://blogs.iis.net/bills/archive/2008/06/02/installing-asp-net-1-1-with-iis7-on-vista-and-windows-2008.aspx

重新啟動IISIIS6 ==>開啟IIS ==>在[主機名稱](本機電腦)上按滑鼠右鍵==>所有工作==>重新啟動IIS

IIS7 ==>開啟伺服器管理員 ==>角色 ==>網頁伺服器(IIS) ==>在右邊的框中可以看到重新啟動

查看IIS事件IIS6 ==>開啟事件檢示器 ==>應用程式

IIS7 ==>開啟伺服器管理員 ==>點角色 ==>點網頁伺服器(IIS) ==>第一個框,就是所有IIS的事件

一些Blog文章,這些是 towns 在轉移站台所找到的一些資料。感謝每一位無私奉獻的大大們。

1. 簡易說明應用程式集區,Managed 管線模式中的傳統(classic mode)與整合式(integrated mode)的設定與區別,不過 towns並不知道傳統與整合式有什麼差別

http://www.goodman-lai.idv.tw/2009/04/iis-75.html

2. 在昇級時出現中文亂碼問題的處理方式

http://blogs.msdn.com/roberthu/archive/2008/05/28/windows-server-2008-iis-7-0-asp-net.aspx

啟用與匯入憑證方式1. 啟用443 port

IIS6 ==>開啟IIS ==>在指定站台上按滑鼠右鍵==>到網站識別碼==>在SSL連接埠中自己打入443

IIS7 ==>開啟IIS ==>點指定站台 ==>繫結 ==>新增==>類型==>選 https,連接埠自動轉為443

註:如果在IIS7中要測試憑證功能,可以直接選用WMSvc這個假憑證

2. 匯入憑證

IIS6 詳見各家憑證中心

IIS7 詳見保哥資料(http://blog.miniasp.com/post/2010/03/02/The-Complete-Guide-for-Purchase-Install-SSL-Certificate-to-IIS7.aspx)

單一檔案加密IIS6 ==>開啟IIS ==>點指定站台 ==>點指定檔案,按滑鼠右鍵 ==>內容 ==>檔案安全性設定 ==>通訊安全 ==>編輯 ==>勾選“必需使用安全通道(SSL)”,勾選“需要128位元加密”

IIS7 ==>

確認是否有安裝.net 3.5IIS6

 1.新增移除中可以看到。

 2.可以到C:\WINDOWS\Microsoft.NET\Framework\看看,是否有v3.5資料匣

IIS7

 1.伺服器管理員==>角色==>角色服務中,可看到.NET Framework 3.5.1是否已安裝

 2.可以到C:\WINDOWS\Microsoft.NET\Framework\看看,是否有v3.5資料匣

    可以到C:\WINDOWS\Microsoft.NET\Framework64\看看,是否有v3.5資料匣

IE9相容性設定有些網頁使用IE9瀏覽時,會出現CSS異常,可以這樣設定

IIS6

在指定站台按滑鼠右鍵==>「內容」==>「HTTP 標頭」==>「MIME 類型」==>新增 ==>設定副檔名為 .css、MIME類型設為 text/css ==>確定 ==>重新啟動IIS

IIS7

到指定站台 ==>右圖MIME類型 ==> 滑鼠左鍵兩下 ==> 新增 ==>設定副檔名為 .css、MIME類型設為 text/css ==>確定 ==>重新啟動 IIS

資料來源:艾堤科技  流雲

註:IIS7已有設定,不需手動設定

子目錄重新導向IIS6

在子目錄按滑鼠右鍵 ==>內容 ==>這個資源的內容應該來自:這三項依需求選擇,如果是轉址請選 某個URL重新導向,並打下網址後確認

IIS7

點選指定子目錄 ==>右圖中選 HTTP重新導向 ==>勾選 將要求重新導向自此目的地,並打下網址 ==>套用

註:如果在右邊沒有出現 HTTP重新導向,請在 伺服器管理員 ==>角色 ==>新增 HTTP重新導向 的角色服務

關閉特定目錄的執行權限IIS6

點選指定站台按滑鼠右鍵 ==> 內容 ==> 主目錄 ==> 執行權限 ==> 選擇“無”

點選指定虛擬目錄按滑鼠右鍵 ==> 內容 ==> 虛擬目錄 ==> 執行權限 ==> 選擇“無”

IIS7

點選指定站台(虛擬目錄、子目錄)==> 處理常式對應 ==> 開啟功能 ==> 編輯功能權限 ==> 將指令碼勾選取消

資料來源:http://blog.miniasp.com/post/2010/08/04/IIS7-How-to-Turn-off-Execute-Permission.aspx

限制子目錄讀取
IIS6

點選指定子目錄按滑鼠右鍵 ==> 內容 ==> 目錄安全性設定 ==> IP位置及網域名稱限制 ==> 接下就自行設定了

IIS7

點選指定子目錄 ==> IP位置及網域限制 ==> 開啟功能 ==> 點右上方有新增允許項目及新增拒絕項目 ==> 這裡就是自行設定了

註:如果只要指定IP或網段開放讀取,將“編輯功能設定”中“未指定的用戶端存取”設為“拒絕”

關於字型載入問題

字型載入在IIS6與IIS7中有相同的問題,必需重啟動系統(reboot OS),IIS才會將字型吃入。單單重新啟動 IIS 是無效的

IE7相容性設定IIS7

開啟 IIS7 ==> 指定網站 ==> HTTP回應標頭 ==> 名稱:X-UA-Compatible,值:IE=EmulateIE7

IIS6

指定網站 ==> 滑鼠右鍵 內容 ==> HTTP標頭 ==> 自定標頭 新增 ==> 自訂標頭中打入 X-UA-Compatible,自定標頭值打入 IE=EmulateIE7

資料來源:

Will大blog http://blog.miniasp.com/post/2011/02/01/Understanding-Internet-Explorer-8-Compatibility-Technology.aspx

IIS 引用 MSSQL express 問題IIS7 載入MSSQL express 2008 R2需將載入使用者設定檔設為true

應用程式集區(指定名稱)按滑鼠右鍵==> 進階設定==>載入使用者設定檔設為true

IIS6 載入MSSQL express 2005

不需要設定

驗證與指定存取IIS7

指定網站 ==> 驗證 ==> 匿名驗證

IIS6

指定網站 按滑鼠右鍵 ==> 內容 ==> 目錄與安全性設定 ==> 驗證及存取控制

設定檔位置

IIS7

C:\Windows\system32\inetsrv\MetaBase.xml

IIS6

C:\WINNT\system32\inetsrv\MetaBase.xml

開啟與關閉IIS7 32bit 工作者程序towns並不知道這個的用途,不過,看來在開發VB程式時是有必要的處理的

IIS7(使用指令)

1. Disable 32-bit worker processes in IIS running this command:

cscript %SystemDrive%\inetpub\AdminScripts\adsutil.vbs set w3svc/AppPools/Enable32bitAppOnWin64 0

2. Enable 32-bit worker processes in IIS running  this command:

cscript %SystemDrive%\inetpub\AdminScripts\adsutil.vbs set w3svc/AppPools/Enable32bitAppOnWin64 1

資料來源:小舖討論區 Chen大回應

http://www.blueshop.com.tw/board/FUM20050110200833I8T/BRD200902191842477CS.html

IIS7(使用UI)

應用程式集區 ==> 選定要開放32bit應用程式集區 上按滑鼠右鍵 ==> 進階設定 ==> 在 啟用32位元應用程式 設為 true

資料來源:eion大的blog

http://www.eion.com.tw/Blogger/?Pid=1074

IIS6 沒這個問題

流量與連線數限制

IIS7

點選指定站台 ==> 右方“網站管理” ==> 設定 ==> 限制

可同時看到“限制頻寬使用量”及“連線限制”

IIS7的 連線逾時(session time out),是放在這裡

也可以到

點選指定站台 ==> 右方“網站管理” ==> 進階設定 ==> 行為 ==> 連線限制 ==> 設定 同時連線數上限 及 最大頻寬,預設值為 4294967295

註:如果設定了連線限制(同時連線數上限),當超過時,就會出現503錯誤

IIS6

在指定站台上按滑鼠右鍵 ==> 內容 ==> 效能

可同時設定“頻寬節流設定”及“網站連線”

IIS6的 連線逾時(session time out),是放在 網站 ==> 連線

應用程式集區身份識別

IIS7

到 應用程式集區 ==> 選定應用程式集區 ==> 到右邊的 進階設定 ==> 識別

預設使用 ApplicationPoolIdentity 帳號(IIS AppPool\應用程式集區名稱)

這個帳號會造成在修改網頁資料匣安全性時,造成網頁無法讀取的問題,因為資料匣預設值中,並沒有提供 ApplicationPoolIdentity 帳號,所以.net 無法存取該資料匣,建議在使用IIS7建立網站時,將這個帳號(IIS AppPool\應用程式集區名稱)一併放入,可避免應用程式存取資料匣權限不足問題,而設定後,也才能正常變更資料匣權限。

註:這個群組在本機使用者群組中,是沒有的,必須使用 (IIS AppPool\[應用程式集區名稱])這樣的打法,才會出現

相關資料:

caubekimo大的blog http://www.dotblogs.com.tw/caubekimo/archive/2010/09/19/17805.aspx

ashiang大的blog http://ashiang.blogspot.tw/2011/07/iis75-application-pool-identity.html

IIS6

到 應用程式集區 ==> 選定應用程式集區 ==> 按滑右鍵 到內容 ==> 身份識別

預設使用 網路服務(Network service)帳號

預設的匿名存取帳號

IIS7

開啟IIS7,點選主機名稱 ==> 右方圖中的 驗證 點滑鼠左鍵兩下 ==> 點 匿名驗證 ==> 點右邊 編輯 ==> 這裡就可以看到 匿名驗證 預設使用者

預設使用 IUSR

網站的資料匣如果有上傳功能,需要開放這個帳號可以讀寫

IIS6

開啟IIS6,點選指定站台 ==> 按滑鼠右鍵,點 內容 ==> 目錄與安全性設定 ==> 驗證及存取控制 ==> 編輯 ==> 這裡就可以看到 匿名存取使用的帳號

預設使用 IUSR_[主機名稱]

網站的資料匣如果有上傳功能,需要開放這個帳號可以讀寫

開放 瀏覽目錄

IIS7

開啟IIS7,點選網站 ==> 功能檢視 ==> 瀏覽目錄 ==> 在右方選 啟用

IIS6

開啟IIS6,在指定站台上按滑鼠右鍵 ==> 內容 ==> 主目錄 ==> 勾選 瀏覽目錄 ==> 確定

IIS7 錯誤訊息

因為網頁伺服器上的[ISAPI 及CGI 限制] 清單設定,而無法提供您要求的網頁

點選“ISAPI及CGI限制” ==> 將 ASP.NET v4.0.30319 設為允許 ,就可以了

資料來源:July大的blog http://graduatedasp.blogspot.tw/2011/10/iisisapi-cgi.html

IIS7.5 錯誤訊息

HTTP 錯誤 500.21 - Internal Server Error

處理常式 "PageHandlerFactory-Integrated" 的模組清單中有錯誤的模組 "ManagedPipelineHandler"

原因:先裝了.net 4.0,再加裝IIS7.5

處理方式:使用指令重新註冊.net 4.0

%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i

資料來源:winsper大的blog http://blog.whisper.tw/2011/01/iis-0x8007000d.html

補充:如果在測試網頁時,發生了 .net load異常,都可以考慮試一下這方式

強制 IIS 使用指定IP(For 2003、IIS6)

 1. 由server 2003 光碟中取出/support/tools/Support.cab,並解壓取出httpcfg.exe檔案,並放到/windows/system32/中

 2. 使用指定綁定IP

httpcfg set iplisten -i 192.168.8.201

 3. 重新啟動IIS

註1:確認是否綁定 httpcfg query iplisten

註2:刪除綁定 httpcfg delete iplisten -i 192.168.8.201

資料來源:lanc大的blog

http://ezcshi.pixnet.net/blog/post/18901890-%E4%BD%BFiis%E8%88%87apache%E4%BB%A5%E5%96%AE%E7%B6%B2%E5%8D%A1%E9%9B%99ip-%E5%85%B1%E7%94%A880port%E6%96%B9%E5%BC%8F

關於IIS 7 資料匣權限問題towns偶爾會發生在搬移網站時資料匣權限錯誤的情形(資料匣安全性中無users這個群組,資料匣繼承功能錯誤),這時會發生網頁無法開啟的錯誤訊息(如圖iis7_user及iis7_user_2),將users群組加入該資料匣中並提供讀取權限,這個問題就解決了。但為什麼會發生無繼承的情形,目前towns並不知道

這個問題也會發生在當towns變更已架設好的網站的路徑時,也會發生這樣的問題(如圖iis75_user)

查看了一下IIS7預設的路徑(C:\inetpub),他有開放users可讀取的權限,而(C:\inetpub\wwwroot)還加上了IIS_USERS可讀取的權限

towns發生這樣的問題很有可能是因為towns 不習慣使用預設路徑造成

註1:一般使用非預設路徑,需要在資料匣的安全性中,將users及IIS_IUSRS加入,並提供讀取權限,IIS才能正常讀取資料

註2:如果沒有加上這兩個權限,會發生新檔案放入後,無法讀取的問題

IIS7 上傳與下載檔案大小限制設定

towns今天發生了圖片無法上傳的問題(使用FCKeditor上傳),主因是IIS7 上傳檔案大小是有限制

ASP程式預設的上傳大小為200kb

ASP程式預設的下載大小為4194304b

上傳大小修改位置:點指定網站 ==> 點選ASP ==> 點限制內容 ==> 要求的實體上限 ==> 改為2000000(2mb)

下載大小修改位置:點指定網站 ==> 點選ASP ==> 點限制內容 ==> 回應緩衝處理限制

ASP.NET 上傳檔案限制設定

在 C:\Windows\system32\inetsrv\config\applicationHost.config 檔案中間加入



設定為30MB

資料來源:

mis2000lab大的blog http://www.dotblogs.com.tw/mis2000lab/archive/2012/01/03/iis_upload_download_limit.aspx

小朱大的 blog http://www.dotblogs.com.tw/regionbbs/archive/2009/02/16/iis7_fileupload_maxallowedcontentlength.aspx

MAX大的 blog http://maxtellyou.blogspot.tw/2010/02/aspiis7.html

徐克大的 blog http://163.32.142.5/blog/post/4/4929

匯出站台清單

IIS7

使用 appcmd指令匯出

appcmd list site > c:\sitelist.txt

會將所有的站台資料匯出成sitelist.txt 檔,匯出的資料為中方框中的所有資料

IIS6

開啟IIS6 ==> 點選 執行 ==> 匯出清單

會將所有的站台資料匯出成一個 txt 檔,匯出的資料為右方框中的所有資料

錯誤頁面重新導向

IIS7

開啟IIS7,點選網站 ==> 功能檢視 ==> 右邊 IIS 中,有一個 錯誤網頁

註:如果使用.net 4.0,在 ASP.NET中會多出一個.NET錯誤網頁

註:有些錯誤頁面是無法重新導向的,如 400、403.9、411、414、500、500.11、500.14、500.15、501、503 和 505這些錯誤

資料來源:微軟 http://technet.microsoft.com/zh-tw/library/cc753103%28v=ws.10%29.aspx

關於無法動新導向的處理方式

資料來源: 這是由msdn討論中某大寫的網址,是一個外國大大的處理方式

http://www.west-wind.com/weblog/posts/2009/Apr/29/IIS-7-Error-Pages-taking-over-500-Errors

IIS6

開啟IIS6,在指定站台上按滑鼠右鍵 ==> 內容 ==> 自定錯誤

IIS抓取其他主機共用資料匣權限設定方式

IIS7

開啟IIS7,點選指定網站 ==> 開啟右邊的 驗證 ==> 點 編輯 ==> 設定 ==> 打入指定帳密 ==> 確定 ==> 確定 ==> 點右上的 啟用

IIS6

 1. 開啟IIS6,在指定站台上按滑鼠右鍵 ==> 內容 ==> 目錄安全性設定 ==> 啟用匿名存取,並打入指定帳密 ==> 確定

 2. 在web.config的中加入

資料來源:Jerry大的blog

http://jerry2yang.wordpress.com/2011/06/10/iis%E4%BC%BA%E6%9C%8D%E5%99%A8%E5%A6%82%E4%BD%95%E5%8F%96%E5%BE%97%E5%85%B6%E5%AE%83%E4%B8%BB%E6%A9%9F%E7%9A%84%E5%85%B1%E7%94%A8%E5%88%86%E4%BA%AB%E6%AA%94%E6%A1%88/

IIS抓取其他主機共用資料匣設定方式

大型網站有時會將前台、後台分開成兩台主機,以增加安全性及分散流量,這時IIS需要抓取其他主機共用料匣的問題,towns在下方做一個操作說明

方法1. 伺服器直接建立遠端虛擬磁碟,再使用IIS建立虛擬目錄並連接虛擬磁碟

這個方式測試後,在IIS7會發生權限問題而無法讀取檔案,不過,在IIS6以下的版本,是可以使用的

方法2. 直接使用IIS虛擬目錄抓取網路芳鄰路徑,並提供必需帳密權限

這個方式測試後,在IIS7會發生權限問題而無法讀取檔案,不過,在IIS6以下的版本,是可以使用的

方法3. 新增 應用程式 ,這個方式可以在IIS7下使用,將流程寫下做紀錄

 1. 新增 應用程式集區,並選 沒有Managed程式碼

 2. 於站台中新增 應用程式 ,並選取應用程式集區為剛設定的集區

 3. 在 實體路徑 中,打入網路實體路徑(可由網路芳鄰看見,如//192.168.*.1/abc)

 4. 且必在 連線身份 指定帳號(帳號必需為兩台主機都有的帳號,密碼相同,並擁有資料匣存取權限)

 5. 測試,點下 測試設定 ,其中 驗證 與 授權 都必需通過

這樣設定後,IIS就會使用指令帳號存取網路芳鄰的資料了

資料來源:

微軟說明 http://support.microsoft.com/kb/207671

MAX大的blog:http://maxtellyou.blogspot.tw/2010/02/iis-7.html

chin大口述

Session 逾時時間設定

IIS7

開啟IIS7,點選指定網站 ==> 開啟右邊的 工作階段狀態 ==> Cookie 設定 ==> 逾時

預設為 20分鐘

指令方式:使用 appcmd

appcmd set config /commit:WEBROOT /section:sessionState /cookieless:UseCookies /cookieName:MyCookie /timeout:40

IIS6

開啟IIS6,在指定站台上按滑鼠右鍵 ==> 內容 ==> 網站 ==> 連線 ==> 連線逾時時間

預設為 120秒

IIS7 讀取 *.svc格式檔案

當使用IIS 7以上版本,需要IIS 能使用 *.svc格式的檔案,必需要做三項設定

1. 啟用 .net 3.5.1 中WCF,並勾選 HTTP啟動

伺服器管理員 ==> 功能 ==> 新增功能 ==> .NET Framework 3.5.1 功能 ==> WCF 啟動 ==> 勾選 HTTP啟動

2. 開啟IIS 並在指定站台 新增 Managed 處理常式 svc-Integrated、新增指令碼對應 svc-ISAPI-2.0、svc-ISAPI-2.0-64

 2.1. 點選 指定站台 ==> 點選 處理常式對應 ==> 新增Managed處理常式 ==>

要求路徑:*.svc

類型選:System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

名稱:svc-Integrated

 2.2. 點選 指定站台 ==> 點選 處理常式對應 ==> 新增指令對應

要求路徑:*.svc

執行檔:%SystemRoot%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll

名稱:svc-ISAPI-2.0(可自定)

 2.3. 點選 指定站台 ==> 點選 處理常式對應 ==> 新增指令對應

要求路徑:*.svc

執行檔:%SystemRoot%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll

名稱:svc-ISAPI-2.0-64(可自定)

3. 繫結只能設定一個

資料來源:demo大的blog

http://demo.tc/Post/607

補充:執行了第一點後,必需對.net 4.0 執行 reinstall的動作

在 C:\Windows\Microsoft.NET\Framework\v4.0.30319 路徑中 下 aspnet_regiis.exe -i -enable 這一段指令,否則會出現以下錯誤

無法從組件 'System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' 載入類型 'System.ServiceModel.Activation.HttpModule'。

資料來源:微軟 MSDN

http://msdn.microsoft.com/zh-tw/library/aa751852%28v=vs.110%29.aspx

強化IIS對於XSS攻擊的阻擋能力

IIS7

開啟IIS7,點選指定網站 ==> 點 HTTP回應標頭 ==> 點右上角的 新增 ==> 名稱打 X-Frame-Options(或X 框架選項),值打入 Deny ==> 確定

IIS6

開啟IIS6,在指定站台上按滑鼠右鍵 ==> 內容 ==> HTTP標頭 ==> 自定 HTTP標頭 ==> 新增 ==> 自定標頭名稱打 X-Frame-Options(或X 框架選項),自定標頭值打入 Deny ==> 確定

註1:這個也是可以直接寫入web.config中,不過使用IIS設定,比較不會錯

這一段

註2:這個方式在IIS6中是否有用,towns並不知道,尤其在.net 2.0以下的版本,並沒有web.config的設定,是否有用,就請看官自己試試啦!

資料來源:

微軟文件:http://support.microsoft.com/kb/2694329

康拍樂大的BLOG:http://compilerok.blogspot.tw/2013/10/iframe-x-frame-options.html

關於連線逾時設定



IIS7

1. 開啟IIS7,點選指定網站 ==> 開啟右邊的 工作階段狀態 ==> Cookie 設定 ==> 逾時

這個值設定後,會在web.config中加入



     



預設 20分鐘

2. 應用程式集區 ==> 指定集區 ==> 進階設定 ==> 處理序模型 ==> 閒置逾時(分),預設 20

3. 點選指定站台 ==> 滑鼠右鍵“網站管理” ==> 進階設定 ==> 行為 ==> 連線限制 ==> 連線逾時(秒),預設 120

IIS6

1. 應用程式集區 ==> 指定集區 按滑鼠右鍵 ==> 內容 ==> 效能 ==> 閒置等後時間。預設打勾,值為20

2. 開啟IIS6,在指定站台上按滑鼠右鍵 ==> 內容 ==> 網站 ==> 連線 ==> 連線逾時時間

預設為 120秒

其中連線逾時時間towns是不太懂的,另兩個比較明確,一為程式預設值、另一為IIS預設值,不過優先順序是否與Apache相同,towns就不知道了呢!

https://blog.xuite.net/towns/hc/67699599-IIS6+%E8%BD%89+IIS7+%E7%9A%84%E8%A8%AD%E5%AE%9A%E5%B0%8D%E6%87%89%E5%8F%8AIIS7%E5%95%8F%E9%A1%8C