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

相关推荐
SEO-狼术33 分钟前
Highcharts Dashboards provides crack
.net
小码编匠5 小时前
C# 上位机开发怎么学?给自动化工程师的建议
后端·c#·.net
cdbqss15 小时前
VB.net编写的身份证类
前端·.net
ChaITSimpleLove5 小时前
.NET9 实现字符串拼接(StringConcatenation)性能测试
.net·性能测试·字符串拼接·csharp·string 拼接·benchmarktest
岸边的风6 小时前
无需公网IP的文件交互:FileCodeBox容器化部署技术解析
网络·网络协议·tcp/ip
2501_915374357 小时前
UDP vs TCP:核心差异与应用场景全解析
网络协议·tcp/ip·udp
Edingbrugh.南空7 小时前
操作系统级TCP性能优化:高并发场景下的内核参数调优实践
网络协议·tcp/ip·性能优化
yqcoder7 小时前
1. http 有哪些版本,你是用的哪个版本,怎么查看
网络·网络协议·http
2501_9159184112 小时前
接口漏洞怎么抓?Fiddler 中文版 + Postman + Wireshark 实战指南
websocket·网络协议·tcp/ip·http·网络安全·https·udp
小码编匠13 小时前
WPF 自定义分页控件,可通过样式模板修改外观
后端·c#·.net