更新时间:2026-09-08 GMT+08:00
分享

搭建FTP服务器(Windows)

简介

FTP(File Transfer Protocol,文件传输协议)是一种在计算机之间通过网络传输文件的标准协议,采用客户端-服务器架构,允许用户从远程服务器上传、下载、重命名、删除、查看文件和目录结构等操作。FTP有两种传输模式,区别如下:

  • 主动模式(Active Mode)
    • 客户端通过控制连接(默认端口21)向服务器发送命令,服务器随后主动通过数据连接(默认端口20)连接客户端指定的端口传输数据。
    • 适用于客户端网络环境无防火墙限制的场景,但可能因防火墙阻止服务器主动连接而失效。
  • 被动模式(Passive Mode)
    • 客户端通过控制连接(端口21)发送PASV命令,服务器响应一个动态端口(如1024-65535),客户端主动连接该端口进行数据传输。
    • 适用于客户端位于防火墙或NAT后的场景,避免服务器主动连接被拦截。

      如果华为云上的其他云服务器,需要通过公网IP地址访问本示例中L实例搭建的FTP服务器时,则需要使用被动模式。

本文介绍了如何使用Windows操作系统的L实例搭建FTP服务器。该指导具体操作以Windows Server 2019为例。

前提条件

已购买Windows操作系统的L实例,且L实例为“运行中”状态。

操作步骤

  1. 远程登录L实例。

    1. 登录Flexus应用服务器L实例控制台
    2. 在资源卡片上,单击图标,单击“重置密码”,根据界面提示设置L实例的密码。

      L实例无初始密码,创建L实例后,如需登录云主机,请先设置L实例的密码。如果已经设置过密码,请跳过此步骤。

      更多详情请参见重置Flexus L实例密码

    3. 单击资源卡片上的“远程登录”按钮,在弹出的登录窗口中,单击“VNC登录”,根据界面提示输入用户名密码登录Flexus L实例。用户名为root,密码为上一步设置的密码。

      更多登录方式请参见登录方式概述

  2. 添加IIS以及FTP服务角色。

    1. 选择“开始 > 服务器管理器”。
    2. 单击“添加角色和功能”。

    3. 在弹出的“开始之前”对话框中,单击“下一页(N)”。
    4. 选择“基于角色或基于功能的安装”,单击“下一页(N)”。

    5. 选择需要部署FTP的服务器,单击“下一页(N)”。

    6. 选择“ Web服务器(IIS)”,并在弹出的对话框中单击“添加功能”,然后单击“下一页(N)”。

    7. 连续单击“下一页(N)”,到“角色服务”页面。
    8. 选择“FTP服务器” 以及 “IIS管理控制台”,单击“下一页(N)”。

    9. 单击“安装”,开始部署服务角色。
    10. 安装完成后,单击“关闭”。

  3. 创建FTP用户名及密码。

    创建Windows用户名和密码,用于FTP使用。如果您希望匿名用户可以访问,可以不创建FTP用户和密码。

    1. 在“服务器管理器”中,选择“仪表板 > 工具 > 计算机管理”。

    2. 选择“系统工具 > 本地用户和组 > 用户”,在右侧空白处右击,并选择“新用户(N)...”。

    3. 设置“用户名”和“密码”,此处用户名以“ftpadmin”为例。

    4. 单击“创建”。

  4. 设置共享文件的权限。

    需要在FTP站点为共享给用户的文件夹设置访问及修改等权限。

    1. 在服务器上创建一个供FTP使用的文件夹,选择文件夹,并单击右键选择“属性”。

      此处以“work01”文件夹为例,且文件夹包含了需共享的文件test.txt。

    2. 在“安全”页签,选择 “Everyone”,单击“编辑”。

      如果没有“Everyone”用户可以直接选择,需要先进行添加 ,添加方法请参见如何添加“Everyone”用户

    3. 选择“Everyone”,然后根据需要,选择“Everyone”的权限,并单击“确定”。

      此处以允许所有权限为例。

  5. 添加及设置FTP站点。

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

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

    3. 在弹出的窗口中,填写FTP站点名称及共享文件夹的物理路径,然后单击“下一步(N)”。

      此处站点名称以“FTPSERVER”为例。

    4. 输入L实例的私有IP地址以及端口号,并设置SSL,单击“下一步(N)”。
      • 端口号 默认为21,也可自行设置 。
      • SSL根据需要进行设置。
        • : 不需要SSL加密。
        • 允许:允许FTP服务器与客户端的非SSL和SSL连接。
        • 需要:需要对FTP服务器和客户端之间的通信进行SSL加密。

          当SSL选择“允许”或“需要”时,需要选择SSL证书。可以选择已有的SSL证书,也可以制作一个SSL证书,具体方法请参见如何制作服务器证书

    5. 设置身份认证和授权信息,并单击“完成”。
      • 身份认证
        • 匿名:允许任何仅提供用户名 “anonymous” 或 “ftp” 的用户访问内容。
        • 基本:需要用户提供有效用户名和密码才能访问内容。但是基本身份验证通过网络传输密码时不加密,因此建议在确认客户端和FTP服务器之间的网络连接安全时使用此身份验证方法。
      • 授权
        • 允许访问
          • 所有用户:所有用户均可访问相应内容。
          • 匿名用户:匿名用户可访问相应内容。
          • 指定角色或用户组:仅指定的角色或用户组的成员才能访问相应内容。如果选择此项,需要在下面输入框中输入指定的角色或用户组。
          • 指定用户:仅指定的用户才能访问相应内容。如果选择此项,需要在下面输入框中输入指定的用户。
        • 权限:选择经过授权的用户的“读取”和“写入”权限。

  6. (可选)配置FTP防火墙支持。

    • 如果需要使用FTP服务器的被动模式,则需要配置FTP防火墙支持。
    • 如果华为云上的服务器,例如其他L实例,需要通过公网IP地址访问本示例中L实例搭建的FTP服务器时,则需要配置FTP防火墙支持。
    1. 双击“FTP防火墙支持”,打开FTP防火墙支持的配置界面。

    2. 配置相关参数,并单击“应用”。
      • 数据通道端口范围:指定用于被动连接的端口范围。可指定的有效端口范围为1025-65535(例如5000-6000)。请根据实际需求进行设置。
      • 防火墙的外部IP地址:输入L实例(FTP服务器)的公网IP地址

    3. 重启云服务器使防火墙配置生效

  7. 设置安全组。

    搭建好FTP站点后,需要在L实例安全组的入方向添加放行FTP端口的规则,具体步骤参见配置Flexus L实例安全组规则。放通的端口请参考表1

    如果配置了“FTP防火墙支持”,需要在安全组中同时放行FTP站点使用的端口和FTP防火墙使用的数据通道端口。

    服务器防火墙默认放行TCP的21端口用于FTP服务。如果选用其他端口,需要在防火墙中添加放行此端口的入站规则。

    表1 设置安全组规则

    优先级

    策略

    类型

    协议端口

    源地址

    1

    允许

    IPv4

    自定义TCP:20-21端口

    0.0.0.0/0

    1

    允许

    IPv4

    自定义TCP:1024-65535间的端口(例如5000-6000)

    0.0.0.0/0

    安全组入方向规则的源地址设置为0.0.0.0/0或::/0,表示允许或拒绝所有外部IP地址访问您的实例,如果端口暴露到公网,可能导致网络入侵,造成业务中断、数据泄露或数据勒索等严重后果。建议您将安全组规则设置为仅允许已知的IP地址访问,如下一步骤中要访问FTP服务器的客户端的IP地址。

  8. 客户端测试。

    打开客户端的计算机,可以是本地Windows计算机或者其他Windows系统的云服务器,在路径栏输入 “ftp://FTP服务器公网IP地址:FTP端口”,其中FTP服务器公网IP地址即本示例中的L实例公网IP地址,FTP端口不填则默认访问21端口。

    弹出输入用户名和密码的对话框表示配置成功,正确的输入用户名和密码后,即可对 FTP 文件进行相应权限的操作。

    如果没有配置“FTP防火墙支持”,客户端使用此方法访问FTP站点时,需要对IE浏览器进行设置,才能打开FTP的文件夹。打开IE浏览器,选择“设置 > Internet 选项 > 高级”。勾选“启用FTP文件夹视图”,取消勾选“使用被动FTP”。

    您也可以在客户端上下载FileZilla进行文件传输等操作。

FAQ

使用Windows系统搭建FTP站点的更多信息请参见微软官方文档

如何添加“Everyone”用户

如果设置文件夹的属性时,没有“Everyone”用户可直接选择,可按照如下步骤添加“Everyone”用户。
  1. 在“安全”页签,单击“编辑”。

  2. 在新弹出的窗口中,单击“添加”。

  3. 在新弹出的窗口中,单击“高级”。

  4. 在新弹出的窗口中,单击“立即查找(N)”,然后在搜索结果中选择“Everyone”并单击“确定”。

  5. 单击“确定”,返回权限窗口。
  6. 单击“确定”,完成添加。

如何制作服务器证书

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

  2. 在左侧列表单击服务器,然后在服务器主页“IIS”区域,双击“服务器证书”,进入“服务器证书”页面。

  3. 单击“创建自签名证书”。

  4. 输入证书的名称,并选择证书存储类型,单击“确定”。

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

相关文档