您好,登錄后才能下訂單哦!
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 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/
由于證書是自己生成,顯示紅標也就是沒有得到驗證。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。