我试图阻止MS Azure在收到无效请求(例如无效主机名)时以Server:HTTPAPI/2.0的标头/值进行响应。
我看过这个条目...
在 Azure 网站预览版上删除服务器和 X 支持由 HTTP 标头
..一个答案表明,解决此问题的唯一方法是在 Azure VM 上托管网站,这是我宁愿避免的。
距离该问题/答案已经过去了 3.5 年 - 有谁知道它现在是否可以在 WebApp 解决方案中被抑制
根据在 Azure 网站中删除标准服务器标头中的说明:
HTTP 标头是 Web 服务器和浏览器之间通信过程的一部分,包含在请求和响应中。一个例子是服务器标头,它列出了 Web 服务器的产品名称和版本(例如,Microsoft-IIS/8.0)。所有 Web 服务器都会生成这些标头,但现在你可以在 Azure 网站上禁用它们。
可以尝试在 Azure Web 应用的应用程序根目录中修改或创建新web.config
,其中包含以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<security>
<requestFiltering removeServerHeader="true" />
</security>
</system.webServer>
</configuration>
请参阅 https://azure.microsoft.com/en-us/blog/removing-standard-server-headers-on-windows-azure-web-sites/了解更多信息。
若要删除 MVC 标头,请在 Global.asax - 应用程序启动事件中添加以下内容:
MvcHandler.DisableMvcResponseHeader = true;
使用这将删除版本标头,
<httpRuntime enableVersionHeader="false" />