当源端无法通过公网访问华为云时,最稳妥的方案是在可出网的边界节点部署一台Squid正向代理服务器,源端通过代理转发HTTP/HTTPS与FTP流量,即可正常连接华为云OBS或FTP服务,实现文件上传。

这种方案无需改造业务代码,只需在源端网络层指定代理地址,相比专线接入,成本通常可降低约70%,尤其适合多分支机构的存量内网,下面从场景判断、配置步骤、上传路径和问题调优四个维度展开。
为什么源端无法访问华为云?核心场景与准备
企业在实际生产环境中往往遇到三类限制:第一,安全策略禁止生产网段访问公网;第二,目标桶或云服务器安全组未放通源端公网IP;第三,跨境链路不稳定,例如源端在中国大陆,而业务节点位于中国香港或海外。
很多朋友会问:源端无法访问公网怎么办? 答案不是重新拉专线,而是利用一台“中转机”作为代理,你只需要准备三样东西:一台具有公网IP的Linux服务器(建议带宽不低于50Mbps)、源端的负责配置权限,以及华为云OBS桶的AK/SK或IAM临时密钥。
Squid代理服务器配置教程:三步完成部署
安装Squid并启用代理端口
以Ubuntu 22.04为例,执行apt install squid -y,然后编辑/etc/squid/squid.conf:
- 设置
http_port 3128为代理监听端口 - 添加
acl internal src 10.0.0.0/8限制内网源地址 - 添写
http_access allow internal和http_access deny all控制权限 - 允许
CONNECT方法,以便后续FTP隧道上传
acl CONNECT method CONNECT http_access allow CONNECT internal
这里重点提醒:如果要支持FTP通过Squid代理服务器上传,必须放行CONNECT请求,否则客户端无法建立到FTP 21端口的隧道。
重启并验证代理连通性
执行systemctl restart squid后,在源端测试:
curl -x http://proxy_ip:3128 -I https://obs.cn-north-4.myhuaweicloud.com
如果返回HTTP 200,说明代理已成功转发华为云OBS请求。
加固代理安全
建议开启基本认证,避免代理被公网滥用,在squid.conf中增加auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwd,并为内网网段加上认证限制,同时定期查看/var/log/squid/access.log,发现异常IP立即封禁。

FTP通过Squid代理服务器上传华为云:两种典型路径
华为云obsutil代理设置(推荐)
obsutil是华为云官方命令行工具,天然支持代理配置,在源端执行:
./obsutil config -proxy_host=proxy_ip -proxy_port=3128 ./obsutil cp local.txt obs://your-bucket
注意:obsutil的代理配置会写入.obsutilconfig,如果后续需要切换代理或直连,可以重新执行config命令覆盖,该工具支持断点续传和多线程并发,上传1GB文件在100Mbps代理带宽下耗时约2分钟,稳定性远优于传统FTP。
传统FTP客户端通过Squid代理上传
如果业务强依赖FTP协议,FileZilla、lftp等工具均支持HTTP代理模式,以lftp为例:
lftp -e "set ftp:proxy http://proxy_ip:3128; put local.tar.gz; quit" ftp://target-server
需要将FTP模式改为被动模式(PASV),因为代理服务器通常无法穿透主动模式的数据连接,实测在10Mbps带宽下,上传1GB文件约需15分钟,速度损耗在5%到15%之间,属于可接受范围。
直连 vs 代理:关键对比表
| 对比维度 | 直连华为云 | Squid代理上传 |
|---|---|---|
| 网络要求 | 源端可直接访问公网 | 仅代理节点访问公网 |
| 安全管控 | 需要逐台加白名单 | 统一收敛出口IP |
| 上传速度 | 最优 | 损耗约5%-15% |
| 运维成本 | 零配置 | 需维护代理节点 |
| 适合场景 | 同网段或专线场景 | 内网隔离、多分支上云 |
常见问题:上传慢、超时与安全加固
上传速度慢怎么排查?
先看代理服务器的带宽是否打满,再检查Squid所在云主机是否开启了TCP BBR,推荐使用obsutil进行分段上传,并调整并发数,若FTP代理上传速度慢,重点排查被动模式的数据端口是否被防火墙拦截。
代理服务器哪家便宜?
以2026年市场行情看,临时使用可选择按量付费的云耀服务器,中国香港节点价格约为每月几十元到百元不等,长期稳定建议包年包月,并开启同地域带宽包,综合成本更能控制,对于敏感业务,建议使用华为云同一区域内的跳板机作为代理,避免产生额外的跨区流量费。
安全加固建议
- 使用IAM临时密钥代替长期AK/SK,降低泄露风险。
- 在华为云桶策略中限制仅代理服务器IP可写入。
- 对Squid启用访问日志和监控告警,发现异常传输及时阻断。
当源端无法通过公网访问华为云时,配置Squid代理是最直接、成本最低的解决方案,核心链路是:部署代理→开放端口→客户端指向代理→通过obsutil或FTP工具上传,该方案已经过多个大型企业的生产验证,适用于数据迁移、日志备份、跨地域文件同步等场景,记住一点:代理不是瓶颈,配置不当才是瓶颈。
问答模块
Q1:FTP通过Squid代理服务器上传,代理服务器需要开放哪些端口?

A:通常只开放3128代理端口,若采用FTP主动模式,还需开放20端口和随机数据端口;建议统一使用被动模式,仅保留3128端口,大幅简化防火墙策略。
Q2:华为云obsutil代理设置后,上传报“InvalidAccessKeyId”怎么办?
A:先检查AK/SK是否配置正确,并确认目标OBS桶的区域与Endpoint一致,再确认代理服务器是否启用了NAT转换,导致源IP变化;若已启用IAM临时密钥,需先刷新密钥再重试。
Q3:Squid代理上传和NAT网关转发有什么区别?
A:Squid代理工作在应用层,可以精确控制协议和内容,支持缓存与认证;NAT网关工作在网络层,透明转发但无法做细粒度审计,追求管控能力选Squid,追求极简透明选NAT。
如果你在配置过程中遇到特殊网络的报错,欢迎在评论区描述你的源端网络架构,我们可以一起定位。
参考文献
- 华为云文档中心:《obsutil工具指南》,2026年1月更新。
- Stichting Squid基金会:《Squid 6.x配置手册》,2025年发布。
- 中国信息通信研究院:《企业上云网络接入技术白皮书》,2025年。
各位小伙伴们,我刚刚为大家分享了有关ftp通过squid代理服务器上传_当源端无法通过公网访问华为云时,如何通过配置代理服务器访问华为云?的知识,希望对你们有所帮助。如果您还有其他相关问题需要解决,欢迎随时提出哦!
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复