日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

如何在宝塔面板启用 ASP.NET CORE 网站并自动申请 HTTPS 证书

發布時間:2023/12/4 asp.net 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何在宝塔面板启用 ASP.NET CORE 网站并自动申请 HTTPS 证书 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

要想在 Linux 上部署 ASP.NET CORE 網站,除了使用“宇內流云”大神的 Jexus 之外就是使用 Nginx 對 ASP.NET CORE 網站進行反向代理。

常規的做法是在服務器上部署完成 ASP.NET 運行環境、網站程序之后,使用 Supervisor 對網站程序進程進行守護。網站程序采用固定的端口號,之后在寶塔面板中創建網站并配置反向代理。

寶塔面板是一個不錯的產品,為網站提供了一鍵申請免費 HTTPS 證書的功能。該功能會在網站根目錄下生成一個名為 .well-known?的目錄,證書的申請、續簽均需要依賴該目錄。

在配置完成反向代理之后,對?.well-known?目錄的訪問將會由 ASP.NET CORE 程序進行處理,這就會導致該目錄下的文件訪問不到了,于是自動申請 HTTPS 證書的功能也就失效了。

有兩種方式可以解決該問題:

  • 修改 Nginx 網站的配置,讓對 .well-known 的請求不走反向代理。

  • 修改 ASP.NET CORE 網站的設置,讓其支持對 .well-known 目錄下文件的訪問。

  • 經過幾番折騰,修改 Nginx 網站配置的方式并沒有走通,這完全是因為筆者在 Linux 上的造詣淺薄。不過,第二種方案的實現倒是非常容易。

    筆者將 ASP.NET CORE 應用發布到了網站的根目錄,這也就意味著 .well-known 目錄和 wwwroot 目錄是平級的。那么,我們僅需要增加一個靜態文件中間件即可:

    app.UseStaticFiles(new StaticFileOptions {FileProvider = new PhysicalFileProvider($"{env.ContentRootPath}/.well-known"),RequestPath = "/.well-known",ServeUnknownFileTypes = true });

    以上代碼需要在 Configure 方法中調用。其中 ServeUnknownFileTypes = true?代表:即使文件的 MIME 類型未知,也將其發送到客戶端。該參數也可以用來解決部分靜態文件因后綴過于小眾而無法下載的問題。但要注意的是,這個設置會允許用戶下載 FileProvider 提供的所有文件包括但不限于 dll 、exe、 db 等。開啟此設置前需要小心謹慎。

    總結

    以上是生活随笔為你收集整理的如何在宝塔面板启用 ASP.NET CORE 网站并自动申请 HTTPS 证书的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。