NET Core Kestrel部署HTTPS

NET Core Kestrel部署HTTPS

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 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/

 

因爲證書是本身生成,顯示紅標也就是沒有獲得驗證。

附測試用證書下載:server.pfx 

 

若是你以爲本文對你有幫助,請點擊「推薦」,謝謝。

相關文章
相關標籤/搜索