asp.net core 部署 提示DataProtectionServices 錯誤


  今天在部署asp.net core網站時,因為調用到阿里雲的api,api的參數需要加密簽名,系統報出了如下錯誤:  

warn: Microsoft.Extensions.DependencyInjection.DataProtectionServices[59]
Neither user profile nor HKLM registry available. Using an ephemeral key repository. Protected data will be unavailable when application exits.
warn: Microsoft.AspNetCore.DataProtection.Repositories.EphemeralXmlRepository[50]
Using an in-memory repository. Keys will not be persisted to storage.
fail: Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware[0]

上網搜了下應該是某些安全機制引起的吧。

具體請自行查看一下文章:Asp.net core Data Protection : https://docs.asp.net/en/latest/hosting/dataprotection.html

            github: https://github.com/aspnet/DataProtection/issues/102

反正我是大致看了下這兩篇文章后找到解決方案的,但是詳細原因嘛,英文還不過關。

使用 PowerShell執行第一篇文章提供的腳本。注意,Powershell 有可能會提示“此系統中禁止執行腳本”,那么按照提示先執行“set-executionpolicy remotesigned”命令。

執行腳本會提示輸入Application Pool名字,輸入你網站對應的應用程序池就可以了。如果有多個網站對應多個Application Pool ,那么要分別注冊。

執行后可能會出現以下錯誤:

沒關系,注冊是已經成功的。反正我的網站在這之后就能正確訪問了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM