对象存储是一种支持 Web 方式请求的持久化存储,不提供原生的 FTP 访问方式。使用 FTP 协议必须通过中转,推荐您根据腾讯云官方提供的 FTP Server 工具,自行搭建服务使用。由于 FTP 协议老旧,无法校验数据完整性以及保障传输安全性,也无法与CAM权限系统对接,因此强烈不建议继续使用 FTP 协议访问,腾讯云亦不会对 FTP 协议和中转软件提供后续支持。 如需数据同步建议直接使用 COS Migration 工具 或 COSCMD 工具。
masquerade_address 是配置提供给客户端的服务器地址。当 FTP server 运行在一个通过 NAT 映射到外网 IP 的主机上时,此时需要配置 masquerade_address 选项为客户端可以访问的 FTP Server 外网 IP,以通知客户端使用该 IP 与服务端完成数据通信。
例如,在 FTP Server 运行的机器上,执行 ifconfig,得到映射到外网的网卡 IP 为10.xxx.xxx.xxx,它映射的外网 IP 假设为119.xxx.xxx.xxx。此时,若 FTP Server 未显式配置 masquerade_address 为客户端访问 server 时的外网 IP(119.xxx.xxx.xxx),则 FTP Server 在 Passive 模式下,给客户端回包可能会使用内网地址(10.xxx.xxx.xxx)。这时就会出现客户端就能够连上 FTP Server,但是却不能正常给客户端返回数据包的情况。
因此,通常情况下,建议用户将 masquerade_address 都配置为客户端连接 Server 时所使用的那个 IP 地址。
这个 case 多半是因为 ftp server 机器 iptables 或防火墙策略配置 reject 或者 drop 掉所有 ICMP 协议包,而 FTP 客户端在拿到 FTP Server 被动模式下返回的数据连接 IP 后,会首先发送一个 ICMP 包探测 IP 的连通性,所以客户端会提示“服务器返回不可路由的地址”等错误。
建议解决方案是:将 iptables 策略按需配置为只 reject 或 drop 希望限制的 ICMP 包类型,如只想禁掉外部 ping 类型的 ICMP 包,可以将策略修改为:iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j [REJECT/DROP]
或者单独放开要访问 ftp server 的客户端的 IP。
由于适用于 COS 最新版本的 FTP Server 提供了完全的流式上传特性,用户文件上传的取消或断开,都会触发大文件的上传完成操作。因此,COS 会认为用户数据流已经上传完成,并将已经上传的数据组成一个完整的文件。 如果用户希望重新上传,可以直接以原文件名上传覆盖;也可手动删除不完整的文件,重新上传。
当实际上传的单文件大小超过了配置文件中的限制,系统会返回一个 IOError 的异常,并且在日志中标注错误信息。
如遇有其他问题,请 联系我们,并附上完整的cos_v5.log
日志,便于我们进一步排查和解决问题。
COS 的分块上传数量最大只能为10000块,且每个分块的大小限制为1MB - 5GB。这里设置最大上传文件大小是为了合理计算一个上传分块的大小。
FTP Server 默认支持200GB以内的单文件上传,但是不建议用户设置过大,因为单文件大小设置越大,上传时的分块缓冲区也会相应的增大,这可能会耗费用户的内存资源。因此,建议用户根据自己的实际情况,合理设置单文件的大小限制。