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

相关推荐
枷锁—sha3 小时前
彻底解决 Google Gemini 报错:异常流量与 IP 地址冲突排查指南
网络·网络协议·tcp/ip
逐梦苍穹3 小时前
不用公网 IP,把内网服务安全发布到公网:ZeroNews 快速上手
网络协议·tcp/ip·安全·内网穿透
好多渔鱼好多5 小时前
【流媒体协议】RTSP / RTP / RTCP 协议全景介绍
网络·网络协议·rtp·rtsp·rtcp·ipc摄像头
蜂蜜黄油呀土豆5 小时前
计算机网络中的传输层:深入解析 TCP 协议
网络协议·tcp/ip·计算机网络·三次握手·网络排查
2501_915918416 小时前
除了 Perfdog,如何在 Windows 环境中完成 iOS App 的性能测试工作
android·ios·小程序·https·uni-app·iphone·webview
五仁火烧6 小时前
HTTP 服务器
服务器·网络·网络协议·http
五仁火烧7 小时前
Vite和HTTP 服务器
服务器·网络协议·http·vue
_风华ts7 小时前
UObject复制与RPC
网络·c++·网络协议·rpc·虚幻
青果网络_xz7 小时前
IP静态是什么意思?静态IP适用于哪些业务场景?
网络·网络协议·tcp/ip