AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1166508
Accepted
ku4eto
ku4eto
Asked: 2024-10-12 18:42:22 +0800 CST2024-10-12 18:42:22 +0800 CST 2024-10-12 18:42:22 +0800 CST

IIS 10:如何删除服务器和 NET 标头

  • 772

设置如下:

带有 IIS 10 的 Windows Server 2022 标准版。

基于 ASP .NET 4.8 的应用程序,使用Integrated mode和运行Application Pool Identity。

我正在尝试删除以下标题:

Server,,,,。X-Powered-By​​X-ASPNet-VersionX-ASPNetMVC-Version

无论做什么,标题都会保留。

尝试过的事情:

  1. RESPONSE HEADERS从标题中删除服务器级别X-Powered-By- 无效果,仍然显示在动态内容上。

  2. 在服务器 applicationhost.config 配置文件和应用程序配置文件中设置 enableVersionHeader 无效:

<configuration>
  <system.web>
    <httpRuntime enableVersionHeader="false" />
  </system.web>
</configuration>
  1. 在服务器级别设置无效:
<configuration>
  <system.webServer>
    <security>
      <requestFiltering removeServerHeader="true" />
    </security>
  </system.webServer>
</configuration>
  1. 将 DisableServerHeader DWORD 注册表值设置为 1,并重新启动 IIS,但无效: HKLM\SYSTEM\CurrentControlSet\Services\HTTP\Parameters!DisableServerHeader

  2. 尝试修改Global.asax以删除 ASPNetMVC 标头,但它破坏了应用程序。

我确认,服务器级别的更改已延伸至网站级别。我也尝试在网站的 web.config 中手动设置。效果相同(无)。

URL 扫描已不再可用,因此它不再是一个选项。最后一个选项似乎是使用 URL 重写,但如果可能的话,我宁愿不使用它,因为据说有原生解决方案。

我做错了什么?我遗漏了什么吗?

iis
  • 3 3 个回答
  • 93 Views

3 个回答

  • Voted
  1. Pradeep Sharma
    2024-10-16T16:47:24+08:002024-10-16T16:47:24+08:00

    这些类型的标头可以在网站级别或 IIS 级别添加。单击 IIS 控制台中的网站后,打开 HTTP 响应标头,您应该会看到此处的标头列表以及条目类型。如果条目类型为继承,则表示此条目仍处于您的 IIS 级别。您可以在 applicationhost.config 中验证这一点。

            <customHeaders>
                <clear />
                <add name="X-Powered-By" value="ASP.NET" />
            </customHeaders>
    

    您可以从这里将其删除,也可以从 IIS 控制台中删除它,单击服务器并打开 HTTP 响应标头后,将其删除并验证响应。

    • 0
  2. Best Answer
    ku4eto
    2024-10-17T22:25:15+08:002024-10-17T22:25:15+08:00

    似乎网站在过程中出了点问题。我删除了它并重新创建了它,这在某种程度上解决了这个问题。网站web.config仍然完全一样,但与标题相关的更改开始起作用。我不知道是我没有理解还是只是没有按照我期望的方式工作,但X-ASPNetMVC-Version必须将它们放在应用程序源代码文件中Global.asax.cs,而不是在运行时(即在构建/部署之后)放在文件中。感谢您提供的答案和帮助。

    • 0
  3. Kevin Smith
    2024-10-12T20:52:37+08:002024-10-12T20:52:37+08:00

    我认为您可以编辑应与您的应用程序一起分发的 web.config 并添加以下行:

        <system.webServer>
    ...
            <httpProtocol>
                <customHeaders>
                    <remove name="X-Powered-By" />
                    <remove name="Server" />                
                </customHeaders>
            </httpProtocol>
    
    • -1

相关问题

  • 2003 Server企业版不能运行ASP.NET应用程序?

  • 启用集成 Windows 身份验证时,ASP(经典)在哪个帐户下运行?

  • 是否有一种简单的方法可以生成有关 IIS 中“死”文件的报告?

  • IIS 7 中的 URL 重写

  • 对于 ASP.Net 应用程序,Windows 64 位相对于 32 位的主要优势是什么?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve