【.NetCore】設定站台的金鑰儲存位置,並使用Redis快取服務

 

先前在專案有遇到同網站但是有啟動多站台服務去做load balance,這時候站台與站台的金鑰需要一樣才能相互信任通過驗證,以下方法是在應用程式啟動時去做這件事情,把金鑰儲存在Redis裡面共享存取。

 

操作說明

需要引用參考

Microsoft.AspNetCore.DataProtection.StackExchangeRedis

using Microsoft.AspNetCore.DataProtection;

 

並在 Startup 中的 ConfigureServices 加入以下程式碼設定

var redis = ConnectionMultiplexer.Connect("<URI>");
services.AddDataProtection()
        .PersistKeysToStackExchangeRedis(redis, "DataProtection-Keys");

 

如果為load balance多站台的話,可以加入SetApplicationName這個方法,使它視為同一個站台

var redis = ConnectionMultiplexer.Connect("<URI>");
services.AddDataProtection()
        .PersistKeysToStackExchangeRedis(redis, "DataProtection-Keys")
        .SetApplicationName("ApplicationName");
台北人,軟體工程師一枚,工作閒暇之餘記錄生活、分享整理資訊。
Posts created 105

發表迴響

Related Posts

Begin typing your search term above and press enter to search. Press ESC to cancel.

Back To Top