在.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

相关推荐
ajassi200030 分钟前
开源 C# .net mvc 开发(八)IIS Express轻量化Web服务器的配置和使用
linux·开源·c#·mvc·.net
诗句藏于尽头8 小时前
完成ssl不安全警告
网络协议·安全·ssl
Eiceblue9 小时前
【免费.NET方案】CSV到PDF与DataTable的快速转换
开发语言·pdf·c#·.net
步、步、为营11 小时前
.net开源库SignalR
开源·.net
会飞的鱼先生11 小时前
Node.js-http模块
网络协议·http·node.js
追逐时光者13 小时前
一款开源免费、通用的 WPF 主题控件包
后端·.net
步、步、为营14 小时前
.net开源物联网项目IoTSharp
物联网·开源·.net
-qOVOp-15 小时前
408第三季part2 - 计算机网络 - ip分布首部格式与分片
网络协议·tcp/ip·计算机网络
数通Dinner15 小时前
RSTP 拓扑收敛机制
网络·网络协议·tcp/ip·算法·信息与通信