標籤:copy block ram 版本號碼 line app 開啟 http ack
ASP.NET Core配置 Kestrel部署HTTPS。現在大部分網站已經部署HTTPS,大家對於安全越來越重視。
今天簡單介紹一下ASP.NET Core 部署HTTPS,直接通過配置Kestrel。大家也可以通過前置Nginx來部署HTTPS。
下面直接進入正題。
建立項目並添加引用
建立一個ASP.NET Core Web Application 模板選擇空。
建立好項目添加引用 Microsoft.AspNetCore.Server.Kestrel.Https。
Install-Package Microsoft.AspNetCore.Server.Kestrel.Https
如果你的.NET Core SDK 還是1.0 ,那麼引用的時候加上版本號碼Install-Package Microsoft.AspNetCore.Server.Kestrel.Https -Version 1.0.0
產生認證
通過OpenSSL 產生認證
必須先確保安裝OpenSSL。
首先自己建立根憑證 root 自己做CA也就是發行者。
openssl genrsa -des3 -out root.key
然後按照提示輸入密碼
openssl req -new -key root.key -out root.csr
輸入剛才設定的密碼,然後填寫一些資訊
然後建立一個10年期根憑證 root.crt
openssl x509 -req -days 3650 -sha1 -extensions v3_ca -signkey root.key -in root.csr -out root.crt
建立伺服器憑證
openssl genrsa -des3 -out server.key 2048
openssl req -new -key server.key -out server.req
openssl x509 -req -days 730 -sha1 -extensions v3_req -CA root.crt -CAkey root.key -CAserial root.srl -CAcreateserial -in server.csr -out server.crt
openssl pkcs12 -export -in server.crt -inkey server.key -out server.pfx
最終得到的server.pfx 就是可以用來在配置HTTPS。
將server.pfx 複製到項目根目錄
添加NuGet包
nuget中尋找然後再程式中添加引用Microsoft.AspNetCore.Server.Kestrel.Https
然後開啟Program.cs 更改代碼如下:
public class Program { public static void Main(string[] args) { var host = new WebHostBuilder() .UseKestrel(option=> { option.UseHttps("server.pfx", "linezero"); }) .UseUrls("https://*:443") .UseContentRoot(Directory.GetCurrentDirectory()) .UseIISIntegration() .UseStartup<Startup>() .Build(); host.Run(); } }
然後選擇使用 Kestrel 運行。
開啟瀏覽器輸入 https://localhost/
由於認證是自己產生,顯示紅標也就是沒有得到驗證。
附測試用認證下載:server.pfx
NET Core Kestrel部署HTTPS使用SSL認證