IP 地址的 TCP 标头在 IIS 6.0 中的内容位置字段中显示 FIX:

文章翻译 文章翻译
文章编号: 834141 - 查看本文应用于的产品
重要 本文包含有关如何编辑元数据库的信息。编辑元数据库之前,请验证您有一个备份副本,如果出现问题,可以还原该副本。有关如何执行此操作,请参阅"配置备份/还原"在帮助主题中 Microsoft 管理控制台 (MMC)。
展开全部 | 关闭全部

本文内容

症状

当 Microsoft Internet Information Services (IIS) 接收主机标头没有 GET 请求时,Web 服务器可能会泄漏内容位置字段或在响应中将 TCP 标头中的位置字段中服务器的 IP 地址。如果请求不包含某个特定页,或者如果 IIS 必须将原始的请求重定向到另一页,可能会出现此问题。

原因

出现此问题的原因是当 IIS 接收到了没有主机标头的 GET 请求,IIS 必须提供一个主机名或 IP 地址在响应中。

解决方案

服务包信息

若要解决此问题,获得最新的 service pack,对于 Microsoft Windows Server 2003。有关详细的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
889100如何获取最新的 service pack,Windows Server 2003 的
重要在安装该 service pack 后,您必须设置 UseHostName 属性或 SetHostName 属性在站点上如果您希望发送的请求一个备用主机名。有关如何执行此操作,请参阅""一节。

修补程序信息

现在可以从 Microsoft 获得支持的修补程序。但是,它被用于解决本文中介绍的此问题。它仅应用于出现这一特定问题的系统。此修补程序可能还会接受进一步的测试。因此,如果此问题没有对您造成严重的影响,我们建议您等待包含此修复程序将下一个 Windows Server 2003 服务包。

要立即解决此问题,请联系 Microsoft 客户支持服务以获取此修复程序。有关 Microsoft 客户支持服务电话号码和关于支持费用的信息的完整列表,请访问下面的 Microsoft 网站:
http://support.microsoft.com/contactus/?ws=support
注意 在特殊的情况中如果 Microsoft 支持专业人员确定某个特定更新才能解决您的问题,可能会被取消通常会导致支持电话的费用。将正常收取支持费用将应用于其他支持问题和不需要进行专门更新的问题。

系统必备组件

需要任何先决条件不。

重新启动要求

应用此修补程序后,您必须重新启动计算机。

元数据库信息

应用此修补程序后,您必须设置 UseHostName 属性或 SetHostName 属性在站点上如果您希望发送的请求一个备用主机名。有关如何执行此操作,请参阅""一节。

修补程序替换信息

此修补程序不替代任何其他修补程序。

文件信息

此修补程序的英文版具有的文件属性 (或更新的文件属性) 在下表中列出。日期和时间对这些文件列出在协调世界时 (UTC)。当您查看文件信息时,将转换为本地时间。若要 UTC 与本地时间之间的时差使用控制面板中的 日期和时间 项中的 时区 选项卡。
   Date         Time   Version      Size       File name
   ------------------------------------------------------
   10-Dec-2003  18:07  6.0.3790.91  1,124,352  Iiscfg.dll
   10-Dec-2003  18:07  6.0.3790.91    299,008  W3core.dll

状态

Microsoft 已经确认这是在"适用于"一节中列出的 Microsoft 产品中的问题。 Windows Server 2003 Service Pack 1 中,第一次已得到纠正此问题。

更多信息

警告 如果错误地为编辑元数据库,您会导致严重的问题,可能会要求您重新安装使用元数据库的任何产品。Microsoft 不能保证可以解决问题,如果您错误地编辑元数据库产生。编辑元数据库需要您自担风险。

注意 始终备份元数据库之前对其进行编辑。

在安装的服务包或应用此修补程序后,您必须设置 UseHostName 属性或 SetHostName 属性在站点上如果您希望发送的请求一个备用主机名。默认状态下,HTTP_HOST 变量为相同的值是发送 SERVER_NAME 变量中。

注意如果您要启用的一种以下设置,IIS 将总是使用 SERVER_NAME 变量的一个替代名称。

UseHostName 属性数据类型为布尔值。UseHostName 属性将指示 IIS 将始终 SERVER_NAME 变量替换为完全合格的计算机名称。

(可选),您可以将 SetHostName 属性的设置。为 SetHostName 属性数据类型是字符串。如果您必须指定计算机名称不同的主机名,请使用 SetHostName 属性。SetHostName 属性假定您希望此备用主机名称。SetHostName 属性将导致忽略 UseHostName 设置的 IIS。您不必设置 UseHostName 属性 SetHostName 属性是否存在。

Web 服务器管理员可能使用 Adsutil.vbs 工具来修改 UseHostName 元数据库属性和 $ SetHostName 元数据库属性。

选项 1: 设置 UseHostName 属性

若要将 UseHostName 属性,请按照下列步骤操作:
  1. 单击 开始、 单击 运行,键入 cmd,然后单击 确定 以打开命令提示符。
  2. 更改到 Adsutil.vbs 工具所在的文件夹。默认状态下,该文件夹是下列:
    %SYSTEMROOT%\Inetpub\AdminScripts
  3. 键入下面的命令其中 x 是您的站点标识符:
    cscript adsutil.vbs 设置 w3svc / x / UseHostName,则返回 true

选项 2: 设置 SetHostName 属性

若要将 SetHostName 属性,请按照下列步骤操作:
  1. 单击 开始、 单击 运行,键入 cmd,然后单击 确定 以打开命令提示符。
  2. 更改到 Adsutil.vbs 工具所在的文件夹。默认状态下,该文件夹是下列:
    %SYSTEMROOT%\Inetpub\AdminScripts
  3. 下面的命令其中 x 是您的站点标识符和 hostname 是您要使用的备用主机名称的类型:
    cscript adsutil.vbs 设置 w3svc / x / SetHostName hostname

) 的缓解因素

在 IIS 6.0 中设置 UseHostNameSetHostName 属性,它后仍可看到 HTTP 响应中的服务器的 IP 地址。默认状态下,该情况没有出现。其结果从如何生成并发送响应。 例如对于如果您配置一个可发送 HTTP 302 响应中的结果的 HTTP 重定向,并且您重定向的代码使用服务器的 IP 地址是 IP 地址可能显示内容位置或响应的位置标头中。 要变通解决此问题,不要重定向逻辑中使用服务器的 IP 地址。而是,使用主机名或完全合格的计算机名称。

如果您对自定义错误页进行配置以执行重定向操作并设置为而不是文件的 URL 的重定向目标使用 IIS 管理器,则会发生的行为相似类型。在这种情况下指定该文件,而不是 URL 以保持隐藏状态的 IP 地址。

如果满足下列条件,则返回 true,则也可以在 HTTP 响应中发送服务器的 IP 地址:
  • 在相应的 HTTP 请求中未包括一个 HTTP:Host 标头值。
  • 在 IIS 中配置 SF_NOTIFY_PREPROC_HEADERS 事件过程中使 GetServerVariables(servername) 调用 ISAPI 筛选器。
这是因为 PREPROC_HEADERS 称为之前 IIS 具有读取配置数据 ; 在此情况下 UseHostName 或 SetHostName。因此,没有但若要返回 IP 地址的其他选项。如果请求包含一个主机的值,并且 GetServerVariables(servername) 调用中已使其成为 PREPROC_HEADERS SERVER_NAME 将包含客户端的主机标头的值。HTTP/1.1 Web 浏览器必须包括它们的请求中的主机头。这种情况下所以更有可能发生时生成并不是 Web 浏览器或 Web 浏览器使用 HTTP/1.0 发送的某些内容在 HTTP 请求。

有关软件更新术语的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
824684用于描述 Microsoft 软件更新的标准术语的说明

属性

文章编号: 834141 - 最后修改: 2008年11月26日 - 修订: 9.1
这篇文章中的信息适用于:
  • Microsoft Internet Information Services 6.0
关键字:?
kbmt kbhotfixserver kbfix kbbug kbqfe kbwinserv2003presp1fix KB834141 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 834141
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com