ASP.NET Core Kestrel部署HTTPS
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 復制到項目根目錄
?
然后打開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/
?
由于證書是自己生成,顯示紅標也就是沒有得到驗證。
原文地址: http://www.cnblogs.com/linezero/p/aspnetcorehttps.html
.NET社區新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關注
總結
以上是生活随笔為你收集整理的ASP.NET Core Kestrel部署HTTPS的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .NET开源两年之后社区贡献如何
- 下一篇: ASP.NET Core 之 Ident