加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-core – 从ASP.NET Core 2.1应用程序中删除“Server”标

发布时间:2020-12-16 07:25:47 所属栏目:asp.Net 来源:网络整理
导读:是否可以删除ASP.NET Core 2.1应用程序中的服务器响应标头(在带有IIS 10的Server 2016上运行)? 我尝试将以下内容放在web.config中: system.webServer httpProtocol customHeaders add name="X-Frame-Options" value="sameorigin" / add name="X-XSS-Protec
是否可以删除ASP.NET Core 2.1应用程序中的服务器响应标头(在带有IIS 10的Server 2016上运行)?

我尝试将以下内容放在web.config中:

<system.webServer>
    <httpProtocol>
        <customHeaders>
            <add name="X-Frame-Options" value="sameorigin" />
            <add name="X-XSS-Protection" value="1; mode=block" />
            <add name="X-Content-Type-Options" value="nosniff" />
            <remove name="X-Powered-By" />
            <remove name="Server" />
        </customHeaders>
    </httpProtocol>
</sytem.webServer>

响应的前四个更改工作正常,但未删除Server标头.我还是看“红隼”

解决方法

Kestrel Server标头在请求管道中添加得太晚.因此,无法通过web.config或中间件删除它.

您可以通过在KestrelServerOptions上将AddServerHeader property设置为false来删除Server标头,这可以在Program.cs中完成.

public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
    WebHost.CreateDefaultBuilder(args)
        .UseKestrel(options => options.AddServerHeader = false)
        .UseStartup<Startup>();

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读