在上传菜谱图片和厨房设计图的时候,老张经常用FTP把文件从电脑传到网站服务器。可好几次传到一半就断了,提示“连接超时”,几十兆的高清图得重新来一遍,挺烦人的。其实这问题不难解决,关键得知道FTP是怎么“打盹”的。
调整客户端的保活设置
很多FTP客户端默认不会主动跟服务器打招呼,空闲一会儿就被当成“走了”,于是断开连接。像FileZilla这类常用工具,可以在设置里打开“主动发送保持连接命令”。路径一般是:编辑 → 设置 → 连接 → FTP → 传输模式与超时,把“每X秒发送一次站点命令”勾上,填个30或60就行。
服务器端开启keep-alive
如果是自己搭的FTP服务器,比如用vsftpd,可以在配置文件里加几行防止断连。打开 /etc/vsftpd.conf,加上:
idle_session_timeout=600
data_connection_timeout=300
accept_timeout=60
connect_timeout=60
这几个参数分别控制空闲超时、数据传输超时和连接等待时间。数值单位是秒,可以根据网络情况调大一点,但别设成0,否则容易被滥用。
用SFTP代替FTP更稳当
老张后来换了SFTP,发现稳定多了。SFTP基于SSH,本身就支持心跳机制,不容易断。而且加密传输,厨房设计图这种私密资料也不怕中途被截。如果服务器开了SSH,直接换SFTP协议连接,端口改成22,大多数FTP软件都支持。
路由器和防火墙别挡路
有时候不是服务器的问题,而是中间的路由器或公司防火墙觉得你太久没动静,自动切断连接。可以尝试在路由器设置里延长TCP连接的会话保持时间,或者启用“FTP辅助功能”(通常叫FTP ALG),虽然名字听起来怪,但能帮FTP穿墙。
批量传大文件?拆开更靠谱
一次传上百张高清食材照片,再怎么设超时也容易翻车。不如把大文件夹分成几个小包,分批传。既能降低单次失败风险,万一中断也只用重传一小部分。就像炖汤,火太大容易溢锅,文火慢炖才稳妥。