ASP.NET Core Web应用程序使用HTTPS/SSL

本文介绍如何在ASP.NET Core Web应用程序中配置HTTPS,包括证书文件的使用与配置文件的编写。通过具体步骤演示如何实现本地环境的安全连接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 创建一个ASP.NET Core Web应用程序
  2. 将证书文件localhost.p12复制到项目的根目录(证书创建参考我的博客《代替OCX Activex等IE浏览器插件的一种方式 》)
  3. 创建配置文件config.json(新建文件在项目根路径)
  4. 编写配置文件的内容
{
  "Kestrel": {
    "EndPoints": {
      "HttpsInlineCertFile": {
        "Url": "https://localhost:5006",
        "Certificate": {
          "Path": "localhost.p12",
          "Password": "123456"
        }
      }
    }
  }
}
  1. 修改Program.cs中的Main方法内容如下
 var config = new ConfigurationBuilder()
           .SetBasePath(Directory.GetCurrentDirectory())
           .AddJsonFile("config.json", optional: true)
           .Build();

            var host = WebHost.CreateDefaultBuilder(args)
                .UseStartup<Startup>()
                .UseConfiguration(config)
                .Build();

            host.Run();

### 启用 HTTPS 配置的作用及意义 在 Visual Studio 2022 中创建 ASP.NET Core Web 应用时,默认情况下会启用 HTTPS 支持。HTTPS 是一种安全协议,通过加密 HTTP 数据传输来保护客户端与服务器之间的通信免受窃听、篡改和伪造攻击。 #### 安全性增强 启用 HTTPS 可以确保数据在网络上传输时不被第三方截获或修改。这尤其重要对于涉及敏感信息的应用场景,例如登录认证、支付交易或其他需要隐私保护的操作[^1]。 #### 默认端口设置 当应用启动时,在开发环境中默认绑定到 `https://localhost:<port>` 地址上运行。这意味着即使是在本地调试阶段,开发者也能体验完整的 HTTPS 流程,从而更容易发现潜在的安全隐患[^4]。 #### 开发环境中的证书管理 为了支持这一功能,Visual Studio 自动为每个新项目生成自签名 SSL/TLS 证书,并将其安装至用户的个人存储区中。虽然这种类型的证书仅适用于内部测试目的而不适合生产用途,但它仍然有助于验证整个流程的有效性以及熟悉如何正确配置正式环境下所需的CA签发版本[^3]。 以下是关于如何查看当前正在使用的Kestrel服务器选项的一个简单例子: ```csharp public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup<Startup>(); var config = new ConfigurationBuilder() .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true) .Build(); webBuilder.ConfigureKestrel(serverOptions => { serverOptions.ListenAnyIP(5001, listenOptions => { listenOptions.Protocols = HttpProtocols.Http1AndHttp2; }); serverOptions.ListenLocalhost(5005, listenOptions => { listenOptions.UseHttps(); // Enable HTTPS on localhost. }); }); }); ``` 上述代码片段展示了如何显式指定 Kestrel 使用 HTTPS 进行监听的方式之一[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值