关于.NET6后端程序(api)部署ssl证书的问题(https) 解决ing

首先 一般情况下,后端不用https,但vs默认创建工程时,很容易勾选,这是需要将https改为http
改两处
一、把program.cs的 //app.UseHttpsRedirection();注释了
二、launchSettings里的iisSettings中 443改为0

  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:4512",
      "sslPort": 443
    }

再加一处 launchSettings的"applicationUrl": "http://localhost:5001"需要把s删掉

  "profiles": {
    "cam_datacenter": {
      "commandName": "Project",
      "launchBrowser": true,
      "launchUrl": "swagger",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      },
      "dotnetRunMessages": true,
      "applicationUrl": "http://localhost:5001"
    },

如果不改 用post会默认走https 就很麻烦

然后 对于安全级别很高的项目,需要走https的,还在研究,资料确实很少
参考:https://www.cnblogs.com/jackyfei/p/16416868.html
https://learn.microsoft.com/zh-cn/aspnet/core/security/enforcing-ssl?view=aspnetcore-7.0&tabs=visual-studio%2Clinux-ubuntu
首先Kestrel肯定是要使用,直接配ssl证书的方法我是没找到
把program改成这样

var builder = WebApplication.CreateBuilder(args);

builder.WebHost.UseKestrel(options =>
{
    options.Listen(IPAddress.Loopback, 5000);
    options.Listen(IPAddress.Loopback,  5001,  
     listenOptions  =>
    {
        listenOptions.UseHttps("certificate.pfx","topsecret");
    });
});

这里没有密码 说是密码配置在环境里 应该直接在这里输密码也可以 具体应用还不清楚 有大神用过请指教啊

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值