我有一个带有基本匿名身份验证的 FTP 站点设置 - 并且它运行良好 - 我可以连接并上传/下载。
我需要在同一台机器上添加另一个站点,但不能将它们都放在端口 21 上,因此我尝试设置与主机名的绑定(它在 DNS 中,我可以通过主机名连接到站点而无需设置绑定 - 所以我知道主机名工作正常)。
当我添加站点绑定时 - 我无法再通过 Windows 资源管理器连接到该站点 - 错误显示“Windows 无法访问此文件夹。请确保您正确输入了文件名并且您有权限...详细信息 - 无法与服务器建立连接”
我读过一些关于虚拟主机名等的文章,但不太清楚我需要做什么来设置它?也就是说,我尝试了帖子中提到的方法,但仍然不起作用。
我只需要对同一台机器上的几个不同的 FTP 站点进行匿名身份验证。我想我可以使用不同的端口 - 但我认为这在 21 上应该可行?
答案1
FTP(协议)没有基于名称的虚拟主机的概念。在 HTTP 上,这可以通过Host
请求标头(或 HTTPS 中的 TLS SNI)来实现。FTP 上没有这种东西:您先连接,然后进行身份验证。
使用 FTP 可以实现的唯一功能是基于用户的“虚拟主机”:每个用户都可以被限制在特定的文件夹中。这就是 IIS 实现基于名称的虚拟主机的方式:您使用特殊格式的用户名登录:Hostname|Username
因此基本上匿名 FTP 是行不通的。