在 IIS 8.5 中绑定主机名会导致“需要身份验证”提示

在 IIS 8.5 中绑定主机名会导致“需要身份验证”提示

在装有 IIS 8.5 的 Windows Server 2012 R2 中,我有一个 FTP 站点,只要在站点绑定中未指定主机名,该站点就可以很好地进行匿名访问。只要我输入主机名的值,客户端浏览器(在 Chrome 中测试)就会显示“需要身份验证”提示,要求输入用户名和密码。

我需要绑定主机名,因为此服务器将托管多个 FTP 站点,但此问题实际上阻止了主机名绑定的使用。我想不出主机名会如何影响身份验证。不使用 SSL。

为了测试权限问题,我授予“每个人”对物理路径的访问权限,但行为没有任何变化。

我有一个可能相关的设置,即在站点的 FTP 身份验证 > 匿名身份验证 > 编辑 > 匿名用户身份下,我指定了一个域帐户。在 Windows 中使用“查看有效访问权限”显示此帐户在物理路径中具有足够的权限,当然,就像我说的,即使没有指定主机名,它也可以正常工作。

如何在 IIS 中匿名访问 FTP 站点并为该站点绑定主机名?

答案1

参考以下博客这里

IIS FTP 主机提供了两种方法让客户端可以得知目标主机。

  1. 通过使用虚拟 FTP 主机并以以下方式传递用户凭据:主机|用户名
  2. 通过拥有支持并能够发送 HOST 命令的客户端,让 FTP 服务知道它想要连接的主机。

对于使用 FTP 主机绑定的匿名访问,我相信只有选项 2 适合您。否则,您可以尝试绑定到不同的端口或 IP 地址。

通过使用不同的端口,就不再需要主机,并且通过使用不同的 IP 地址,您可以使 DNS 条目映射到每个 IP 地址。

答案2

我发现了同样的问题,所以开始尝试......

FTP 中的主机绑定问题在于,虽然它自 7.5 以来一直在 IIS 中可用,但它依赖于具有该功能的客户端。因此,例如使用 FTP Voyager,我发现它运行良好,并允许我使用特定主机绑定直接登录在 IIS 8.5 中设置的 FTP 帐户。

使用 cmd.exe 到 FTP 或使用 Filezilla (v3.5.3) 我收到 530 身份验证错误,我想这是您看到的相同错误。

出现该错误的地方,您会发现日志文件中没有该特定 FTP 站点的日志条目(假设您已配置每个站点的日志记录),因为 IIS 不知道将连接路由到哪个 FTP 站点。如果您有一个不使用主机名绑定的 FTP 站点,您会发现那里有一个日志条目,但当然,该 FTP 站点可能没有配置您尝试使用的用户登录名,因此您也会在那里遇到身份验证失败。

因此,如果您可以控制连接到这些 FTP 站点的人员以及他们将使用的 FTP 软件,那么您就可以确保他们使用兼容的软件。

如果这些是新连接,例如用户将根据您发送的内容从头开始设置这些详细信息,那么您可以使用 milope 发布的博客中描述的方法强制将主机名作为登录过程的一部分提交。

如果这些是现有的连接,例如您尝试将多个 FTP 服务器及其现有登录凭据合并到一台服务器中,那么不幸的是,我认为您在无缝替换方面能做的事情不多。

相关内容