我有一个 asp .net core web api,它充当其他一些 asp .net core web api 服务的代理。
一切都很好,除了我无法让这个标题停止出现在回复中:
server: Microsoft-IIS/10.0
我在代理和服务项目中将此添加到 web.config
<system.webServer>
<httpProtocol>
<customHeaders>
<remove name="X-Powered-By" />
<remove name="Server" />
</customHeaders>
</httpProtocol>
</system.webServer>
它似乎适用于 X-Powered-By
,但不适用于 Server
我也尝试添加
<security>
<requestFiltering removeServerHeader="true" />
</security>
现在标题读取
server: Kestrel
有谁知道为什么会这样,以及我如何让它发挥作用?
答案 0 :(得分:0)
这个适用于 IIS 10。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<security>
<requestFiltering removeServerHeader="true" />
</security>
</system.webServer>
</configuration>
答案 1 :(得分:0)
据我所知,如果您想删除服务器标头 Kestrel,我建议您可以尝试以下方法。
您可以尝试修改 Program.CS 中的 UseKestrel 设置:
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
webBuilder.UseKestrel(option => option.AddServerHeader = false);
});
结果: