asp.net 虛擬機器主機時常出現MAC驗證失敗錯誤之解決方案

來源:互聯網
上載者:User

出現錯誤:
“/”應用程式中的伺服器錯誤。
--------------------------------------------------------------------------------

驗證檢視狀態 MAC 失敗。如果此應用程式由網路場或群集承載,請確保 <machineKey> 配置指定了相同的 validationKey 和驗證演算法。不能在群集中使用 AutoGenerate。

說明: 執行當前 Web 請求期間,出現未處理的異常。請檢查堆疊追蹤資訊,以瞭解有關該錯誤以及代碼中導致錯誤的出處的詳細資料。

異常詳細資料: System.Web.HttpException: 驗證檢視狀態 MAC 失敗。如果此應用程式由網路場或群集承載,請確保 <machineKey> 配置指定了相同的 validationKey 和驗證演算法。不能在群集中使用 AutoGenerate。

源錯誤:

只有在偵錯模式下進行編譯時間,產生此未處理異常的原始碼才會顯示出來。若要啟用此功能,請執行以下步驟之一,然後請求 URL:

1. 在產生錯誤的檔案的頂部添加一條“Debug=true”指令。例如:

<%@ Page Language="C#" Debug="true" %>

或:

2. 將以下的節添加到應用程式的設定檔中:

<configuration>
<system.web>
<compilation debug="true"/>
</system.web>
</configuration>

請注意,第二個步驟將使給定應用程式中的所有檔案在偵錯模式下進行編譯;第一個步驟僅使該特定檔案在偵錯模式下進行編譯。

重要事項: 以偵錯模式運行應用程式一定會產生記憶體/效能系統開銷。在部署到生產方案之前,應確保應用程式調試已禁用。

解決方案:因為.NET在對用戶端資料與伺服器間傳送過程中,需要對資料進行加密與解密,而加密與解密演算法可以在web.config裡進行配置,在web.config中,validationKey和decryptionKey的預設值是AutoGenerate,由系統隨機產生密鑰,如果在本地或者使用的是外掛式主控件通常不會有什麼問題,但是使用虛擬機器主機,一台伺服器上有多個虛擬機器主機存在時就會出現以上問題,MSDN中也特別指出不能在群集中使用 AutoGenerate應該指定固定的密鑰值,這就需要在web.config中添加關於machineKey的配置項,並手動設定其中的密鑰值,這裡請注意,不同密碼編譯演算法對於密鑰的最大字元長度是不同的,在這裡能夠使用的有AES,DES,3DES,SHA1,MD5,我只知道DES的密鑰字元長度為16,3DES長度為48,手動設定時密鑰長度必須等於其最大長度,否則會出錯!至於密鑰的16進位值可以隨便輸入。

具體操作方法如下:

找到網站運行根目錄下的web.config檔案,如加亮行所示加上相應的項。設定時,請自行修改KEY值,這關係到伺服器的加密安全。圖片看不清晰請點擊圖片查看。

代碼:<machineKey validation="SHA1" validationKey="78EA3850338FBADCE59D8DDF58C9E4518E7510149C46142D7AAD7F1AD49D95D4" decryptionKey="5FC88DFC24AE12BC" />

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.