有没有办法指示 HTTP 服务器将文件上传到另一个 HTTP 服务器?

有没有办法指示 HTTP 服务器将文件上传到另一个 HTTP 服务器?

在我的项目中,我需要这样做:

server1 ---http-download (curl)---> my pc ---http-upload(curl)---> server2

这显然是重复流量。我想知道是否有一种方法可以指导 server1 执行 http 上传文件到 server2,如下所示:

my pc ---http-request---> server1 ----http-upload---> server2

是否可以使用现有的网络服务器?

请注意,这两个服务器都不在我的系统内,换句话说,服务器 1 和服务器 2 不在我的控制范围内。

答案1

可能的选择:

  • 更新服务器 2 上的接收脚本,这样它就不再接收上传的文件,而是获得服务器 1 上要获取的文件的 URL。
  • 在服务器 1 上放置一个脚本,该脚本可以提供有关如何将文件上传到服务器 2 的信息。这可能更复杂,因为上传需要的不仅仅是一个 URL。
  • 使用 FTP 而不是 HTTP,因为您要求的内容实际上可以用 FTP 实现。不过,存在一个风险,即其中一个站点的防火墙会阻止此类传输。

如果以上都不受支持,并且您没有足够的访问权限来获取任何服务器的支持,那么答案是:不,您无法直接传输文件。

文件的中间存储不一定是您正在使用的 PC。如果您需要经常进行此类传输,最好使用位置优越的 VPS 作为中间存储。

答案2

如果您可以控制服务器(但您没有),您可以使用 rsync,甚至让服务器 2 从服务器 1 获取文件。

由于您没有访问权限,您必须从一台服务器下载文件,然后将其上传到另一台服务器。因为您无法让服务器 2 向服务器 1 发出文件请求。

相关内容