4

为了安全起见,我想删除任何显示有关我的应用程序正在运行的操作系统、Web 服务器或框架的详细信息的 HTTP 标头。我能够使用在 SO 和其他地方找到的文章从 IIS Express 本地显示中删除所有内容。不幸的是,当我发布到我的 Azure 网站预览版时,仍然保留了三个标题:

  1. 服务器:Microsoft-IIS/7.5
  2. X-Powered-By: ARR/2.5
  3. X-Powered-By: ASP.NET

我找到的文章是针对 Azure Web 角色而不是网站预览的,例如这篇.

有谁知道如何从网站预览中删除?

4

3 回答 3

6

Windows Azure 网站是共享基础架构,您无法像在 Web 角色中那样配置 IIS。正如您正确指出的那样,您可以删除这些标题:

  • X-AspNet-版本
  • X-AspNetMvc-版本

但剩下以下内容:

  • 服务器:Microsoft-IIS/7.5
  • X-Powered-By: ARR/2.5
  • X-Powered-By: ASP.NET

即使您实施了所有必要的步骤来抑制这些标头,您也会从我的博客文章中看到非法请求将由HTTP.SYS在内核级别处理,这将返回Microsoft-HTTPAPI/2.0标头。您需要编辑注册表以删除此标头。

结论是,如果您想要最终控制 IIS 和 HTTP.SYS,您将需要在非共享基础架构中托管您的网站。因此,您的选择是 Windows Azure 云服务中的 Web 角色。

于 2013-01-30T23:31:53.527 回答
3

现在这是可能的。另请参阅删除服务器响应标头 IIS7

于 2013-11-20T17:37:11.517 回答
0

检查此线程如何删除 ASP.Net MVC 默认 HTTP 标头?不仅是主要回应,还有以下回应。

于 2013-01-29T04:22:34.040 回答