Roh*_*hav 1 .net-core-3.1 asp.net-core-3.1
如何配置 .net core 3.1 应用程序以防止响应标头中出现“服务器”
Son*_*reB 10
如果要删除作为 Server 标头返回的“Kestrel”值,则问题的正确答案是使用 KestrelServerOptions 执行此操作。
虽然可以使用 web.config,但最好不要由运行时添加头开始。
这是在 .NET Core 3.1 中关闭服务器标头的方法,在 Program.cs 的 ConfigureWebHostDefaults 方法中添加 ConfigureKestrel 调用:
webBuilder.ConfigureKestrel(serverOptions =>
{
serverOptions.AddServerHeader = false;
});
Run Code Online (Sandbox Code Playgroud)
这是一个设置上下文的完整示例,您可以在其中添加它:
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.ConfigureKestrel(serverOptions =>
{
serverOptions.AddServerHeader = false;
});
webBuilder.UseStartup<Startup>();
});
}
Run Code Online (Sandbox Code Playgroud)
在 .Net 6 ASP.Net Core 中
builder.WebHost.ConfigureKestrel(options => options.AddServerHeader = false);
Run Code Online (Sandbox Code Playgroud)
将web.config包含此内容的文件添加到 Web 项目(您可能将其他内容合并到您的web.config文件中):
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<security>
<requestFiltering removeServerHeader="true" />
</security>
</system.webServer>
</configuration>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3550 次 |
| 最近记录: |