![使用 Squid3 和 IPTABLES 进行透明 FTP 缓存代理的工作配置](https://linux22.com/image/594201/%E4%BD%BF%E7%94%A8%20Squid3%20%E5%92%8C%20IPTABLES%20%E8%BF%9B%E8%A1%8C%E9%80%8F%E6%98%8E%20FTP%20%E7%BC%93%E5%AD%98%E4%BB%A3%E7%90%86%E7%9A%84%E5%B7%A5%E4%BD%9C%E9%85%8D%E7%BD%AE.png)
是否有人使用 Squid3 成功透明地缓存传入的 FTP 请求?代理是否仍应在 3128 上监听,而我将 21 上的传入请求重定向到 3128?
答案1
Squid 不支持 FTP 透明代理。Squid 是 HTTP 代理,只支持其监听端口的 HTTP 连接。因此 HTTP 透明代理仅适用于 Squid。如果您确实需要透明 FTP 代理,请使用弗罗克斯
当您在浏览器中手动配置时,Squid 支持 FTP 代理,因为在这种情况下浏览器使用 HTTP 消息请求 FTP 对象。
答案2
据我所知,没有代理可以透明地支持 FTP。
部分原因是 FTP 在某些方面比 HTTP 更复杂。HTTP 使用单个 TCP 连接来处理所有事务。FTP 使用单独的 TCP 连接来处理控制通道和数据传输。客户端和服务器在控制通道内协商其他 TCP 连接的附加连接详细信息。
ftp 透明代理对于 FTP 来说比对于 HTTP 来说要复杂得多。