在.NET 6.0上使用Kestrel配置和自定义HTTPS

这篇具有很好参考价值的文章主要介绍了在.NET 6.0上使用Kestrel配置和自定义HTTPS。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

引用地址:在.NET 6.0上使用Kestrel配置和自定义HTTPS_kestrel 使用https_云策数据的博客-CSDN博客

在ASP.NET Core中,默认情况下HTTPS处于打开状态,这个不是问题,我们无需禁用它。因为如果你的服务是在防火墙后面,是属于后台服务,不对外网提供服务,启用HTTPS也是有意义的。
通常,在Windows上,启用HTTPS所需的证书是从Windows证书存储库加载的,在Linux或Mac上,则会从证书文件上加载证书,后者更加灵活,是我比较推荐的方式。

直接上代码

    using System.Text.Encodings.Web;
    using System.Text.Json;
    using YC.Common.Core.Filter;
    using YC.JsonSerialization;
    using YC.UnifyResult;
    using Newtonsoft.Json;
    using Newtonsoft.Json.Serialization;
     
    var builder = WebApplication.CreateBuilder(args).Inject();
    builder.Host.UseSerilogDefault();
    builder.Logging.AddJsonConsole(options =>
    {
        options.JsonWriterOptions = new JsonWriterOptions
        {
            Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping
        };
    });
     
    builder.Services.AddControllersWithViews()
        .AddMvcFilter<RequestActionFilter>()
        .AddInjectWithUnifyResult<RESTfulResultProvider>()
        .AddJsonOptions(options =>
        {
            options.JsonSerializerOptions.PropertyNamingPolicy = null;
        })
        .AddNewtonsoftJson(options =>
        {
            // 默认命名规则
            options.SerializerSettings.ContractResolver = new DefaultContractResolver();
     
            // 设置时区为 UTC
            options.SerializerSettings.DateTimeZoneHandling = DateTimeZoneHandling.Utc;
     
            // 格式化json输出的日期格式
            options.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss";
     
            // 忽略空值
            // options.SerializerSettings.NullValueHandling = NullValueHandling.Ignore;
     
            // 忽略循环引用
            options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
     
            // 格式化json输出的日期格式为时间戳
            options.SerializerSettings.Converters.Add(new NewtonsoftDateTimeJsonConverter());
        });
     
    var app = builder.Build();
    app.Configuration.Get<WebHostBuilder>().ConfigureKestrel(options =>
    {
        // 长度最好不要设置 null
        options.Limits.MaxRequestBodySize = 52428800;
        
    });
    app.Run();

AppSetting.json 设置

    {
        "AllowedHosts": "*",
        // 配置扫描目录
      "ConfigurationScanDirectories": [ "Configurations" ]
     
    }

子目录设定

 Kestrel.json 设定

    {
      "Kestrel": {
        "Endpoints": {
          "Http": {
            "Url": "http://200.0.0.66:50001"
          },
          "HttpsInlineCertFile": {
            "Url": "https://200.0.0.66:5000",
            "Certificate": {
              "Path": "I:\\source\\Net6\\yc-netcore-v3.4.1\\src\\Application\\YC.API.Entry\\all_wsb003_cn.pfx",
              "Password": "Minke@2022"
            }
          }
        }
      }
    }
————————————————
版权声明:本文为CSDN博主「云策数据」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/bj_xuzhiqiang/article/details/126726816文章来源地址https://www.toymoban.com/news/detail-603479.html

到了这里,关于在.NET 6.0上使用Kestrel配置和自定义HTTPS的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 在.NET 6.0中自定义接口路由

    大家好,我是张飞洪,感谢您的阅读,我会不定期和你分享学习心得,希望我的文章能成为你成长路上的垫脚石,让我们一起精进。 在本文中,我们将讨论 ASP.NET Core 中的新路由。我们将了解什么是接口( endpoints )路由,它是如何工作的,它在哪里使用,以及如何创建自己的路

    2023年04月17日
    浏览(32)
  • Rebex HTTPS for .NET

    HTTP: You can now use a canonicalized form of IPv6 address in HTTP host header. Networking: Added support for IPv6 addresses to SOCKS5 proxy (client-side). Networking: You can now use \\\'Proxy-Connection\\\' header instead of \\\'Connection\\\' with HTTP CONNECT proxies. Rebex HTTPS is an HTTP and HTTPS library for .NET. It brings TLS 1.2, 1.1, SHA-2, SNI, AES/GCM and

    2024年02月08日
    浏览(38)
  • .NET core 中的Kestrel 服务器

    什么是Kestrel? Kestrel 是一个跨平台的Web服务器,会默认在ASP.NET Core 项目模板中对其进行配置。未使用 IIS 托管时,ASP.NET Core 项目模板默认使用 Kestrel。 Kestrel 的功能包括: 跨平台: Kestrel 是可在 Windows、Linux 和 macOS 上运行的跨平台 Web 服务器。 高性能: Kestrel 经过优化,可

    2024年03月13日
    浏览(39)
  • Kestrel封装在WindowService中(.net5,.net6,.net7三个版本的介绍)

    在一些开发过程中,会在局域网内搭建webapi服务作为移动端的服务接口使用,但是每次实施人员要到客户现场安装iis等工具,还有一些web的配置,非常繁琐,所以想着把webapi封装到WindowService中,可以通过自定义的安装程序进行一键部署,岂不美哉! 这篇文章主要是记录如何

    2024年02月08日
    浏览(37)
  • HttpSelfHostConfiguration+.net framework4.5.2 发布HTTPS服务

    HttpSelfHostConfiguration可以开启自宿主服务,即监听本地端口,然后发布对应的api服务,其实就是个webapi项目,但是可以不用挂载在IIS上,程序直接运行就可以 上次做完了HttpSelfHostConfiguration后,有要求,需要让自宿主服务支持https协议,这就麻烦了 要知道https可是需要证书啥的

    2024年02月03日
    浏览(55)
  • Linux(统信UOS) 发布.Net Core,并开启Https,绑定证书

    实际开发中,有时会需要为小程序或者需要使用https的应用提供API接口服务,这就需要为.Net Core 配置https,配置起来很简单,只需要在配置文件appsettings.json中添加下面的内容即可 如上图,Kestrel 在最外层,如果已经有同名项,直接其下面添加https配置即可。

    2024年02月04日
    浏览(35)
  • ASP.NET Core 6框架揭秘实例演示[36]:HTTPS重定向

    HTTPS是确保传输安全最主要的手段,并且已经成为了互联网默认的传输协议。不知道读者朋友们是否注意到当我们利用浏览器(比如Chrome)浏览某个公共站点的时候,如果我们输入的是一个HTTP地址,在大部分情况下浏览器会自动重定向到对应HTTPS地址。这一特性源于浏览器和

    2024年02月07日
    浏览(41)
  • javax.net.ssl.SSLHandshakeException:(HTTPS绕过安全认证进行请求链接)

    1、问题: 在使用jsoup爬取数据时,碰到了使用https的网站,遇到报错:javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: validity check failed 2、解决 后自己在网上查了一些资料,找到相关解决代码: 3、方法调用  

    2024年02月08日
    浏览(45)
  • NET Core 6.0 webapi 简单使用+连接数据库

    ASP.NET core NET core 6.0 如何使用 在 Program.cs里面 添加对应注释 效果: Microsoft.EntityFrameworkCore.Sqlite Microsoft.EntityFrameworkCore.Sqlite.Core Newtonsoft.Json:用于Json格式转换 添加测试Api Tips:这里用到ORM查询语法 EntityFramework EF 常用增删改查语句 运行结果

    2024年02月09日
    浏览(39)
  • 使用自定义XML配置文件在.NET桌面程序中保存设置

    本文将详细介绍如何在.NET桌面程序中使用自定义的XML配置文件来保存和读取设置。除了XML之外,我们还将探讨其他常见的配置文件格式,如JSON、INI和YAML,以及它们的优缺点和相关的NuGet类库。最后,我们将重点介绍我们为何选择XML作为配置文件格式,并展示一个实用的示例

    2024年02月09日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包