[IIS 7.5/Win2008 R2] 部署Web Site問題集合
HTTP 錯誤 500.23 - Internal Server Error
偵測出 ASP.NET 設定沒有套用到整合式 Managed 管線模式.
引用恆逸許薰尹老師所講:
Integrated整合式Managed管線模式提供以下好處:
1.能夠處理所有類型的Request(原生或Managed模組),如靜態檔案、CGI
2.減少在IIS與ASP.net重複執行的動作,如驗證、URL授權
3.集中管理設定
4.易於使用ASP.net Managed模組來擴充IIS
…
所以Integrated整合式應該比Classic傳統 Managed管線模式好處多,結果網路上反而很多解決方式都是把管線模式改回Classic(上圖的第三種解決方式)
後來上MSDN論壇發問
真正的解決方式:
1.在命令提示字元中輸入 cd %windir%\system32\inetsrv,然後按 ENTER。
2.輸入%SystemRoot%\system32\inetsrv\appcmd migrate config "IIS裡的網站名稱/"
(沒有圖形介面可以調,須下指令)
※2018.7.8追記,圖片裡說明的第二種解決方式
在Web.config的system.webServer區段寫下
<configuration>
<system.webServer>
<!--可以使用整合式管線模式了~-->
<validation validateIntegratedModeConfiguration="false" />
</system.webServer>
</configuration>
補充:
Windows Server 技術中心 - Appcmd.exe (IIS 7)的用法
HTTP 錯誤 404.2 -Not Found
因為網頁伺服器上的 [ISAPI 及 CGI 限制] 清單設定,而無法提供您要求的網頁。
解決方式:
解法來源:Microsoft 技術支援 - 當您嘗試造訪裝載的網頁執行 IIS 7.0 的電腦上時,出現錯誤訊息: 「 HTTP 錯誤 404.2 – 找不到 」
2011.8.5 追記
HTTP 錯誤 500.19 - Internal Server Error
原因:IIS和.net framework安裝順序相反,正確安裝順序,要先啟動IIS再灌.net framework
此錯誤解決方式,請參考91網友文章:HTTP 錯誤 500.19 - Internal Server Error
HTTP 錯誤404.17 – Not Found
要求的內容似乎是指令碼,因此靜態檔案處理常式便不會對它進行處理。
HTTP 錯誤500.21 – Internal Server Error
處理常式 “PageHandlerFactory-Integrated” 的模組清單中有錯誤的模組 “ManagedPipelineHandler”
以上兩個情況是在IIS和.net framework安裝順序相反下,部署者又自行新增一些IIS設定所導致
解決辦法:HTTP 錯誤 500.19 - Internal Server Error
=============================================================================================================
2011.8.21 追加
IIS6:HTTP 401.1 - 未經授權:因認證無效而存取遭到拒絕
2011.10.13 追加
IIS7.5的站台和該底下的應用程式虛擬目錄若執行的應用程式集區.net版本不一樣,會造成其中一個錯誤
無法對應路徑
解決辦法:站台、應用程式虛擬目錄的應用程式集區.net版本都改成一樣即可
※ 2012.01.12 MSDN討論:IIS超過人數上限時,顯示自訂錯誤訊息,不要顯示 Service Unavailable (沒辦法)
2012.3.11 追記
IIS7.5
HTTP 錯誤 500.19 - Internal Server Error
無法存取要求的網頁,因為與該網頁相關的設定資料不正確。
設定錯誤 無法讀取設定檔案,因為權限不足
解決辦法:http://tw.myblog.yahoo.com/hummus-hummus/article?mid=611&prev=613&next=609
2012.3.15 追記
如果為應用程式新增預設文件發生以下錯誤:
執行此作業時發生錯誤。
詳細資料:
檔案名稱:xxxxx\web.config
行號:xx
錯誤:在唯一金錀屬性'value'設為'xxxx'的情況下,無法新增類型'add'的重複集合項目
因為該應用程式的預設文件設定和父層的網站重覆,解決辦法:
打開Web應用程式的Web.config檔,移除和網站重覆的設定(紅框處)
或者從IIS打開父層網站的預設文件,移除父層網站重覆的設定
MSDN討論:
加入的.dll,有些在部署時要記得也要修改Web.config
ASP4.0+IIS7(server 2008)引用DLL產生的問題
2012.4.22
疑似安裝的IIS功能沒有裝齊所造成的問題:換一台主機,突然網站無法套用佈景主題
2012.5/1 追記開發WCF所造成的錯誤:
'/MySilverlightApplication1.Web' 應用程式中發生伺服器錯誤。
服務不支援 ASP.NET 相容性,因此無法啟動服務。此應用程式已啟用 ASP.NET 相容性。請關閉 web.config 中的 ASP.NET 相容性模式,或將 AspNetCompatibilityRequirements 屬性新增至服務型別,並將 RequirementsMode 設定設為 'Allowed' 或 'Required'。
解決辦法:WCF 服務與 ASP.NET
把WCF的類別加上
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
且網站的Web.config裡把
<serviceHostingEnvironment aspNetCompatibilityEnabled="false"
multipleSiteBindingsEnabled="true" />
改為
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"
multipleSiteBindingsEnabled="true" />
2012.8.2 追記\
已超出傳入訊息 (65536) 的訊息大小配額上限。若要增加此配額,請利用適當繫結項目上的 MaxReceivedMessageSize 屬性。
http://blog.csdn.net/faunjoe/article/details/4636074
把Web.config裡maxReceivedMessageSize設大一點(要和maxBufferSize一樣)
2012.9.13追記
在WCF中使用Session、HttpContext.Current的方式:
http://www.cnblogs.com/Flyear/archive/2010/01/07/1641199.html
2012.10.31追記
前端Silverlight加入服務參考後無法產生程式碼
(自訂工具錯誤: 無法為服務參考 xxxx 產生程式碼,如需詳細資訊,請檢查其他錯誤與警告訊息。)
而且Reference.cs文件都是空的
解決辦法:
Silverlight - failed to generate code for the service reference