You need to enable JavaScript to run this app.
导航
搭建FTP站点(Windows)
最近更新时间:2023.12.07 14:25:43首次发布时间:2021.11.15 15:42:33

文件传输协议FTP是一个用于在计算机网络上在客户端和服务器之间进行文件传输的应用层协议,一般运行在20和21两个端口。本文介绍如何在Windows实例上搭建FTP站点。

前提条件

软件版本

  • Windows 操作系统:本文以 Windows server 2019 为例。

  • IIS:Web 服务器,本文以 IIS 10 为例。

  • 客户端操作系统:本文以 macOS Big Sur 11.6 为例。

操作步骤

步骤一:在IIS安装FTP服务

  1. 登录云服务器

  2. 在服务器桌面,单击左下角“开始”,选择“服务器管理器”。

  3. 在“服务器管理器”窗口,单击“添加角色和功能”。
    image

  4. 在弹出的“添加角色和功能向导”窗口中,单击“下一步”,进入“选择安装类型”界面。

  5. 在“选择安装类型”界面中,选择“基于角色或基于功能的安装”,单击“下一步”。
    image

  6. 在“选择目标服务器”页面中,保持默认设置,单击“下一步”。
    image

  7. 在“选择服务器角色”界面中,勾选“Web 服务器(IIS)”,并在弹出的窗口中单击“添加功能”。
    image

  8. 连续单击“下一步”,直至进入“选择角色服务”界面。

  9. 在“选择角色服务”界面,勾选 “FTP 服务”及 “FTP 扩展”,单击“下一步”。
    image

  10. 单击“安装”,然后等待安装完成后,单击“关闭”。

步骤二:创建FTP用户名及密码

说明

创建 Windows 用户名和密码,用于 FTP 使用。如果您希望匿名用户访问,可跳过此步骤。

  1. 在“服务器管理器”窗口中,选择右上角导航栏中的“工具 > 计算机管理“,打开“计算机管理”窗口。
    image

  2. 在“计算机管理”界面中,选择左侧导航栏中的”系统工具 > 本地用户和组 > 用户“。
    image

  3. 在”用户“右侧界面中,右键单击空白位置,选择”新用户“。
    image

  4. 在“新用户”界面,按照以下提示设置用户名及密码,并单击”创建“。

    • 用户名:本文以 ftptest 为例。
    • 密码:按密码设置要求自定义。
    • 密码永不过期:请根据实际需要设置,本文以密码永不过期为例。

步骤三:设置共享文件夹权限

  1. 在服务器桌面,单击“文件资源管理器”,选择“此电脑”。

  2. 双击“Windows 2019(C)”,进入 C 盘,右键单击空白位置,创建 FTP 共享文件夹 test。

  3. 右键单击 test 文件夹,选择“属性”。

  4. 在“test 属性”窗口中,选择”安全“标签,单击”编辑“。

  5. 在弹出的“test的权限”页面中,单击“添加”。

  6. 在弹出的对话框中,输入对象名称 “ftptest”,然后单击“检查名称”。

  7. 确认名称后,单击“确定”。

  8. 在“test的权限”窗口,根据需要,设置“ftptest”的权限,并单击“确定”。
    本文以允许所有权限为例。

  9. 在“test 属性”窗口中,单击“确定”完成设置。

步骤四:添加FTP站点

  1. 在“服务器管理器”窗口中,选择右上角导航栏中的“工具 > Internet Information Services (IIS)管理器”。
    image

  2. 选择“网站”并右键单击,然后选择“添加FTP站点”。
    image

  3. 在弹出的窗口中,填写 FTP 站点名称及共享文件夹的物理路径,然后单击“下一步”。
    本文站点名称以“ftpserver”为例,物理路径以C:\test为例。
    image

  4. 在“绑定和 SSL 设置”界面中,进行相关设置,并单击“下一步”。
    image

    • 绑定 :IP 地址默认选择【全部未分配】,端口默认为21(FTP 默认端口号),您也可以自行设置端口。
    • SSL :请按需选择,本文以【无 SSL】为例。
      • 无 SSL :无需 SSL 加密。
      • 允许 SSL :允许 FTP 服务器支持与客户端的非 SSL 和 SSL 连接。
      • 要求 SSL :需要 SSL 加密才能在 FTP 服务器和客户端之间进行通信。
        如果您选择了【允许 SSL】或【需要 SSL】时,您可以在 “SSL 证书”中选择已有的 SSL 证书,也可参考 服务器证书制作步骤制作一个 SSL 证书。
  5. 在“身份验证和授权信息”界面中,进行相关设置,并单击“完成”。
    image

    • 身份验证 :选择身份验证方法,本文以“基本”为例。
      • 匿名 :允许任何用户访问仅提供匿名或 FTP 用户名的内容。
      • 基本 :要求用户提供有效的用户名和密码才能访问内容。因为基本身份验证通过网络传输未加密的密码,所以仅当您知道客户端和 FTP 服务器之间的连接是安全的(例如通过使用安全套接字层 SSL)时,才使用此身份验证方法。
    • 授权 :从允许访问下拉列表中选择一种方式,本文以指定用户 “ftptest” 为例。
      • 所有用户 :所有用户都可以访问该内容。
      • 匿名用户 :匿名用户可以访问内容。
      • 指定的角色或用户组 :只有某些角色或用户组的成员才能访问内容。选择此项需指定角色或用户组。
      • 指定的用户 :只有指定的用户可以访问内容。选择此项需指定用户名。
    • 权限 :设置已授权用户权限,本文以设置 读取写入 权限为例。
      • 读取 :允许授权用户从目录中读取内容。
      • 写入 :允许授权用户写入目录。
  6. 配置 FTP 站点的防火墙。

    1. 在IIS管理器中,双击 FTP 站点名称 ftpserver,进入 FTP 站点的主页。

    2. 双击 "FTP 防火墙支持"。
      image

    3. 在"防火墙的外部 IP 地址"下的文本框中,输入 Windows 实例的公网 IP 地址。
      登录 云服务器控制台,在实例列表中可查看对应云服务器的公网 IP。

    4. 在页面右侧操作列,单击"应用",然后在弹出的对话框中单击"确定"。

步骤五:设置安全组和防火墙

搭建好 FTP 站点后,在实例安全组的入方向添加规则并放行下列 FTP 端口。具体操作,请参见 修改安全组访问规则

  • 配置实例安全组
    在 Windows 实例安全组添加入方向规则,放行 21 端口及 1024~65535 端口。

    FTP 使用模式
    方向协议类型端口范围源地址
    主动模式入方向TCP20/210.0.0.0/0
    被动模式入方向TCP21 端口及 1024~65535 端口0.0.0.0/0
  • 配置实例防火墙
    火山引擎提供的 Windows 公共镜像的防火墙默认已允许FTP应用,如果您的云服务器防火墙没有进行相关设置,放行 TCP 21 端口与 1024~65535 端口用于 FTP服务,请参考 安全FAQ进行相关设置。
    其他防火墙设置,请参见 微软官方文档

步骤六:客户端测试

您可以通过 FTP 客户端软件、浏览器或文件资源管理器等工具验证 FTP 服务,本文以客户端浏览器为例。

  1. 打开浏览器,在地址栏中输入 ftp 服务器地址。单击“打开访达”。
    ftp://云服务器公网IP:21
    image

  2. 在弹出的登录窗口中,输入已设置的 FTP 用户名和密码,然后单击“连接”。连接成功后,可查看到 FTP 服务器指定目录下的文件。

    由于 macOS “访达" 不支持上传文件到 ftp 服务器,您可以下载FileZilla等第三方软件进行文件传输操作。

FAQ

制作服务器证书

  1. 在“服务器管理器”中,选择“仪表板 > 工具 > Internet Information Services (IIS)管理器 ”。
    image

  2. 在弹出的“Internet Information Services (IIS)管理器”窗口中,选择左侧导航栏中的服务器,双击右侧界面中的“服务器证书”。
    image

  3. 选择右侧操作栏中的“创建自签名证书”。
    image

  4. 在弹出的“创建自签名证书”窗口中,设置证书名称及存储类型,单击“确定”完成创建。
    本文以创建个人存储类型的 SSL 证书为例。
    image

    创建成功后会在服务器证书界面显示已经创建的证书。
    image

无法正常连接 FTP

  • 检查 Windows 云服务器是否开启“使用被动FTP”

    本文以 FTP 使用被动模式连接为例,要求 Windows 云服务器的 IE 浏览器开启 使用被动FTP

    火山引擎提供的 Windows 公共镜像默认已开启。如果您的 Windows 云服务器未开启 使用被动FTP,请参考以下步骤,先开启 IE 浏览器的 使用被动 FTP,然后再次尝试访问 FTP 站点。

    1. 在 Windows 云服务器桌面,单击打开 IE 浏览器。

    2. 在 IE 浏览器窗口,单击右上角“设置 > internet 选项(O)”

    3. 单击"高级"页签,然后在"设置"区域,找到并选中使用 被动 FTP (用于防火墙和 DSL 调制解调器的兼容)

    4. 单击"应用",然后单击"确定"。

  • 检查 Windows 客户端是否开启“使用被动FTP”
    本文以 FTP 使用被动模式连接为例,若您使用 Windows 客户端访问 FTP,需开启客户端 IE 浏览器 使用被动FTP。具体操作步骤如下:

    1. 在 Windows 物理机桌面,单击打开 IE 浏览器。

    2. 在 IE 浏览器窗口,单击右上角“设置 > internet 选项(O)”

    3. 单击"高级"页签,然后在"设置"区域,找到并选中使用 被动 FTP (用于防火墙和 DSL 调制解调器的兼容)

    4. 单击"应用",然后单击"确定"。

  • 防火墙允许程序添加 svchost.exe
    若执行上述配置后,仍无法连接 FTP,请在云服务器执行以下操作添加 svchost.exe后,重启 FTP服务,然后再次尝试访问 FTP 站点。

    1. 登录云服务器

    2. 在 Windows 云服务器桌面,单击“开始 > 控制面板”。

    3. 在“控制面板”窗口,单击“系统和安全”。
      image

    4. 在“系统和安全“页面,单击“Windows Defender 防火墙”。
      image

    5. 在“Windows Defender 防火墙”页面,单击“允许应用或功能通过Windows Defender 防火墙”。
      image

    6. 在“允许的应用”页面,单击“允许其他应用”。
      image

    7. 在“添加应用”页面,单击“浏览”。

    8. 在“浏览”页面,输入svchost.exe,单击“打开”。

    9. 在“添加应用”页面,单击“添加”。

    10. 在“允许的应用”页面,单击“确定”,完成svchost.exe程序添加。
      image