ASP.NET Core配置 Kestrel部署HTTPS。如今大部分網站已經部署HTTPS,你們對於安全愈來愈重視。html
今天簡單介紹一下ASP.NET Core 部署HTTPS,直接經過配置Kestrel。你們也能夠經過前置Nginx來部署HTTPS。瀏覽器
下面直接進入正題。安全
新建一個ASP.NET Core Web Application 模板選擇空。服務器
新建好項目添加引用 Microsoft.AspNetCore.Server.Kestrel.Https。post
Install-Package Microsoft.AspNetCore.Server.Kestrel.Https測試
若是你的.NET Core SDK 仍是1.0 ,那麼引用的時候加上版本號Install-Package Microsoft.AspNetCore.Server.Kestrel.Https -Version 1.0.0網站
經過OpenSSL 生成證書ui
必須先確保安裝OpenSSL。spa
首先本身建立根證書 root 本身作CA也就是發行者。3d
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 2048openssl 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 複製到項目根目錄
而後打開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
若是你以爲本文對你有幫助,請點擊「推薦」,謝謝。