文件传输协议FTP是一个用于在计算机网络上在客户端和服务器之间进行文件传输的应用层协议,一般运行在20和21两个端口。本文介绍如何在Windows实例上搭建FTP站点。
Windows 操作系统:本文以 Windows server 2019 为例。
IIS:Web 服务器,本文以 IIS 10 为例。
客户端操作系统:本文以 macOS Big Sur 11.6 为例。
在服务器桌面,单击左下角“开始”,选择“服务器管理器”。
在“服务器管理器”窗口,单击“添加角色和功能”。
在弹出的“添加角色和功能向导”窗口中,单击“下一步”,进入“选择安装类型”界面。
在“选择安装类型”界面中,选择“基于角色或基于功能的安装”,单击“下一步”。
在“选择目标服务器”页面中,保持默认设置,单击“下一步”。
在“选择服务器角色”界面中,勾选“Web 服务器(IIS)”,并在弹出的窗口中单击“添加功能”。
连续单击“下一步”,直至进入“选择角色服务”界面。
在“选择角色服务”界面,勾选 “FTP 服务”及 “FTP 扩展”,单击“下一步”。
单击“安装”,然后等待安装完成后,单击“关闭”。
说明
创建 Windows 用户名和密码,用于 FTP 使用。如果您希望匿名用户访问,可跳过此步骤。
在“服务器管理器”窗口中,选择右上角导航栏中的“工具 > 计算机管理“,打开“计算机管理”窗口。
在“计算机管理”界面中,选择左侧导航栏中的”系统工具 > 本地用户和组 > 用户“。
在”用户“右侧界面中,右键单击空白位置,选择”新用户“。
在“新用户”界面,按照以下提示设置用户名及密码,并单击”创建“。
在服务器桌面,单击“文件资源管理器”,选择“此电脑”。
双击“Windows 2019(C)”,进入 C 盘,右键单击空白位置,创建 FTP 共享文件夹 test。
右键单击 test 文件夹,选择“属性”。
在“test 属性”窗口中,选择”安全“标签,单击”编辑“。
在弹出的“test的权限”页面中,单击“添加”。
在弹出的对话框中,输入对象名称 “ftptest”,然后单击“检查名称”。
确认名称后,单击“确定”。
在“test的权限”窗口,根据需要,设置“ftptest”的权限,并单击“确定”。
本文以允许所有权限为例。
在“test 属性”窗口中,单击“确定”完成设置。
在“服务器管理器”窗口中,选择右上角导航栏中的“工具 > Internet Information Services (IIS)管理器”。
选择“网站”并右键单击,然后选择“添加FTP站点”。
在弹出的窗口中,填写 FTP 站点名称及共享文件夹的物理路径,然后单击“下一步”。
本文站点名称以“ftpserver”为例,物理路径以C:\test
为例。
在“绑定和 SSL 设置”界面中,进行相关设置,并单击“下一步”。
在“身份验证和授权信息”界面中,进行相关设置,并单击“完成”。
配置 FTP 站点的防火墙。
在IIS管理器中,双击 FTP 站点名称 ftpserver,进入 FTP 站点的主页。
双击 "FTP 防火墙支持"。
在"防火墙的外部 IP 地址"下的文本框中,输入 Windows 实例的公网 IP 地址。
登录 云服务器控制台,在实例列表中可查看对应云服务器的公网 IP。
在页面右侧操作列,单击"应用",然后在弹出的对话框中单击"确定"。
搭建好 FTP 站点后,在实例安全组的入方向添加规则并放行下列 FTP 端口。具体操作,请参见 修改安全组访问规则。
配置实例安全组
在 Windows 实例安全组添加入方向规则,放行 21 端口及 1024~65535 端口。
FTP 使用模式 | 方向 | 协议类型 | 端口范围 | 源地址 |
---|---|---|---|---|
主动模式 | 入方向 | TCP | 20/21 | 0.0.0.0/0 |
被动模式 | 入方向 | TCP | 21 端口及 1024~65535 端口 | 0.0.0.0/0 |
配置实例防火墙
火山引擎提供的 Windows 公共镜像的防火墙默认已允许FTP应用,如果您的云服务器防火墙没有进行相关设置,放行 TCP 21 端口与 1024~65535 端口用于 FTP服务,请参考 安全FAQ进行相关设置。
其他防火墙设置,请参见 微软官方文档。
您可以通过 FTP 客户端软件、浏览器或文件资源管理器等工具验证 FTP 服务,本文以客户端浏览器为例。
打开浏览器,在地址栏中输入 ftp 服务器地址。单击“打开访达”。ftp://云服务器公网IP:21
在弹出的登录窗口中,输入已设置的 FTP 用户名和密码,然后单击“连接”。连接成功后,可查看到 FTP 服务器指定目录下的文件。
由于 macOS “访达" 不支持上传文件到 ftp 服务器,您可以下载FileZilla等第三方软件进行文件传输操作。
在“服务器管理器”中,选择“仪表板 > 工具 > Internet Information Services (IIS)管理器 ”。
在弹出的“Internet Information Services (IIS)管理器”窗口中,选择左侧导航栏中的服务器,双击右侧界面中的“服务器证书”。
选择右侧操作栏中的“创建自签名证书”。
在弹出的“创建自签名证书”窗口中,设置证书名称及存储类型,单击“确定”完成创建。
本文以创建个人存储类型的 SSL 证书为例。
创建成功后会在服务器证书界面显示已经创建的证书。
检查 Windows 云服务器是否开启“使用被动FTP”
本文以 FTP 使用被动模式连接为例,要求 Windows 云服务器的 IE 浏览器开启 使用被动FTP。
火山引擎提供的 Windows 公共镜像默认已开启。如果您的 Windows 云服务器未开启 使用被动FTP,请参考以下步骤,先开启 IE 浏览器的 使用被动 FTP,然后再次尝试访问 FTP 站点。
在 Windows 云服务器桌面,单击打开 IE 浏览器。
在 IE 浏览器窗口,单击右上角“设置 > internet 选项(O)”
单击"高级"页签,然后在"设置"区域,找到并选中使用 被动 FTP (用于防火墙和 DSL 调制解调器的兼容)。
单击"应用",然后单击"确定"。
检查 Windows 客户端是否开启“使用被动FTP”
本文以 FTP 使用被动模式连接为例,若您使用 Windows 客户端访问 FTP,需开启客户端 IE 浏览器 使用被动FTP。具体操作步骤如下:
在 Windows 物理机桌面,单击打开 IE 浏览器。
在 IE 浏览器窗口,单击右上角“设置 > internet 选项(O)”
单击"高级"页签,然后在"设置"区域,找到并选中使用 被动 FTP (用于防火墙和 DSL 调制解调器的兼容)。
单击"应用",然后单击"确定"。
防火墙允许程序添加 svchost.exe
若执行上述配置后,仍无法连接 FTP,请在云服务器执行以下操作添加 svchost.exe后,重启 FTP服务,然后再次尝试访问 FTP 站点。
在 Windows 云服务器桌面,单击“开始 > 控制面板”。
在“控制面板”窗口,单击“系统和安全”。
在“系统和安全“页面,单击“Windows Defender 防火墙”。
在“Windows Defender 防火墙”页面,单击“允许应用或功能通过Windows Defender 防火墙”。
在“允许的应用”页面,单击“允许其他应用”。
在“添加应用”页面,单击“浏览”。
在“浏览”页面,输入svchost.exe
,单击“打开”。
在“添加应用”页面,单击“添加”。
在“允许的应用”页面,单击“确定”,完成svchost.exe程序添加。