1. 程式人生 > >.Net Core ABP應用如何在阿里雲Linux Docker中開啟Https

.Net Core ABP應用如何在阿里雲Linux Docker中開啟Https

.Net Core應用開啟Https本身就有很多種方式:
1.程式碼配置
2.環境變數
3.反向代理

這裡主要記錄下阿里雲的ECS,加阿里雲免費的SSL證書,通過程式程式碼,如何進行配置。

首先從阿里雲下載證書

 

 

選擇IIS下載,得到一個zip檔案,裡面是證書以及密碼

 

 

 

 把證書檔案放到打包後的資料夾,比如我的目錄

-publish
-certs
--123.pfx
-DockerFile

 

 

修改Program.cs

public static IWebHost InitWebHost(string[] args)
        {
            var x509ca = new X509Certificate2(File.ReadAllBytes(@"/app/certs/123.pfx"), "password");
            return WebHost.CreateDefaultBuilder(args)
                .UseStartup<Startup>()
                .UseKestrel(option => option.ListenAnyIP(443, config => config.UseHttps(x509ca)))
                .Build();
        }

 注意這裡的路徑,/app是因為部署在docker下,後面的就是正常程式釋出後的目錄,記得把password修改為對應密碼

修改Dockerfile,加上一行

EXPOSE 443

按正常流程生成映象並執行起來

最重要的一步,開啟埠。

進入ecs例項-安全組-配置規則

 

手動新增一行,埠寫443即可

 

 

 

這時候假如一切正常的話,是可以用https://ip 直接訪問你的應用的,但是會提示該伺服器使用證書的域名跟你輸入的不一致,點選繼續訪問,仍然可以進去

 

而使用域名來訪問,則完全沒有問題,可以正常進入

&n