虛擬路徑對應
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