.Net Core ABP應用如何在阿里雲Linux Docker中開啟Https
阿新 • • 發佈:2020-12-09
.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