【发布时间】:2019-09-29 19:36:11
【问题描述】:
我正在使用 Asp.Net Core 2.2.1。我正在尝试从响应中删除 server 标头。我尝试在ConfigureKestrel() 中添加options.AddServerHeader = false;,但仍然不成功。请帮助我解决我哪里出错了。
这是我的代码:
程序.cs
public class Program
{
public static void Main(string[] args)
{
CreateWebHostBuilder(args).Build().Run();
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args)
{
return WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.ConfigureKestrel((context,options) => {
// Set properties and call methods on options
options.AddServerHeader = false;
});
}
}
Web.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<!-- To customize the asp.net core module uncomment and edit the following section.
For more info see https://go.microsoft.com/fwlink/?linkid=838655 -->
<system.webServer>
<security>
<requestFiltering removeServerHeader="true" />
</security>
<handlers>
<remove name="aspNetCore" />
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="InProcess">
<environmentVariables>
<environmentVariable name="ASPNETCORE_HTTPS_PORT" value="44342" />
<environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
</environmentVariables>
</aspNetCore>
<httpProtocol>
<customHeaders>
<remove name="X-Powered-By" />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>
回复图片
谢谢,
阿卜杜勒
【问题讨论】:
-
我认为这是一个改变你的 IIS 配置的案例,而不是你的代码。
-
查看另一个问题的答案:stackoverflow.com/a/53222946/519348
-
@TZHX 上面提到的答案不起作用。我仍然可以在响应中看到服务器标头。还有其他帮助吗?
标签: c# asp.net-core kestrel-http-server response-headers kestrel