要將 ASP.NET Core 8 應用程序安裝到 IIS 10 並設定 SSL/TLS,請按照以下步驟進行:
1. 安裝 IIS 和必要的擴展
首先,確保已在 Windows 10 或 Windows Server 上安裝 IIS 及其必要的擴展:
- 打開 "控制面板" > "程序和功能" > "啟用或關閉 Windows 功能"。
 - 確保已選中以下項目:
- Internet Information Services
 - Web 管理工具
 - World Wide Web 服務
 - 應用開發功能(選中 ASP.NET 和其他需要的功能)
 
 
2. 安裝 ASP.NET Core Hosting Bundle
在目標機器上安裝 ASP.NET Core Hosting Bundle,這樣可以確保 IIS 可以運行 ASP.NET Core 應用程序。
下載 ASP.NET Core Hosting Bundle
3. 部署應用程序到 IIS
- 使用 Visual Studio 或命令行(
dotnet publish)將 ASP.NET Core 應用程序發布到文件夾中。 - 在 IIS 中創建新的網站或應用程序:
- 打開 IIS 管理器。
 - 右鍵單擊 "站點",選擇 "添加網站"。
 - 設置網站名稱、物理路徑和端口號。
 
 
4. 配置網站使用 HTTPS
獲取和安裝 SSL 憑證
您可以使用以下選項之一獲取 SSL 憑證:
- 從受信任的憑證颁发机构(CA)購買 SSL 憑證。
 - 使用 Let's Encrypt 免費獲取 SSL 憑證。
 - 在測試環境中使用自簽名憑證。
 
將 SSL 憑證安裝到 IIS 伺服器上:
- 打開 "IIS 管理器"。
 - 選擇伺服器節點,然後打開 "伺服器憑證"。
 - 點擊右側操作窗格中的 "導入" 或 "創建自簽名憑證"(如果使用自簽名憑證)。
 
綁定 HTTPS
- 在 IIS 管理器中選擇您的網站。
 - 在右側操作窗格中,點擊 "綁定"。
 - 點擊 "添加",選擇 "https" 作為類型,然後選擇已安裝的 SSL 憑證。
 
5. 配置 ASP.NET Core 應用程序支持 HTTPS
在 Program.cs 中配置 Kestrel 以支持 HTTPS
在 Program.cs 文件中配置 Kestrel 以支持 HTTPS: csharp
csharp
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Hosting;
public class Program
{
    public static void Main(string[] args)
    {
        CreateHostBuilder(args).Build().Run();
    }
    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseStartup();
            });
}
 
6. 強制使用 HTTPS
在 ASP.NET Core 應用程序中強制使用 HTTPS,可以在 Startup.cs 文件中配置:
public void ConfigureServices(IServiceCollection services)
{
    services.AddControllersWithViews();
    // 配置強制 HTTPS
    services.AddHttpsRedirection(options =>
    {
        options.RedirectStatusCode = StatusCodes.Status308PermanentRedirect;
        options.HttpsPort = 443;
    });
    // 配置 HSTS
    services.AddHsts(options =>
    {
        options.Preload = true;
        options.IncludeSubDomains = true;
        options.MaxAge = TimeSpan.FromDays(60);
    });
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }
    else
    {
        app.UseExceptionHandler("/Home/Error");
        app.UseHsts();
    }
    app.UseHttpsRedirection();
    app.UseStaticFiles();
    app.UseRouting();
    app.UseAuthorization();
    app.UseEndpoints(endpoints =>
    {
        endpoints.MapControllerRoute(
            name: "default",
            pattern: "{controller=Home}/{action=Index}/{id?}");
    });
}
7. 驗證設置
啟動 IIS,訪問網站以驗證 HTTPS 是否正確配置。打開瀏覽器並導航到 https://yourdomain.com 以確保 SSL/TLS 配置正確。
這些步驟應該可以幫助您在 IIS 10 中正確設置 ASP.NET Core 8 應用程序的 SSL/TLS。