Amazon web services 直接通过服务器下载文件

Amazon web services 直接通过服务器下载文件,amazon-web-services,download,server,Amazon Web Services,Download,Server,我有两台服务器(A、B)和一台外部服务器(C)。服务器C只接受来自服务器B的请求(IP授权)。我需要尽快从服务器C下载一个文件到服务器a。当然,我可以将文件下载到服务器B,然后再下载到服务器A,但是文件非常大,而且时间非常关键。有没有办法使用B作为某种“代理”将文件从服务器C直接下载到a?如果您通过HTTP或HTTPS进行文件传输,您可以在服务器B上安装类似的软件。这样的方法可能是最快、最简单的方法 您可以采取的另一种方法是创建一个临时的“哑”代理,它具有额外的灵活性,可以支持您可能需要的几乎任

我有两台服务器(A、B)和一台外部服务器(C)。服务器C只接受来自服务器B的请求(IP授权)。我需要尽快从服务器C下载一个文件到服务器a。当然,我可以将文件下载到服务器B,然后再下载到服务器A,但是文件非常大,而且时间非常关键。有没有办法使用B作为某种“代理”将文件从服务器C直接下载到a?

如果您通过HTTP或HTTPS进行文件传输,您可以在服务器B上安装类似的软件。这样的方法可能是最快、最简单的方法

您可以采取的另一种方法是创建一个临时的“哑”代理,它具有额外的灵活性,可以支持您可能需要的几乎任何端口/协议。假设您想使用scp复制文件。你可以这样做:

  • 在服务器A上,按照以下行发出ssh命令:

    $ssh-L 2222:hostC.example.com:22 hostB.example.com

  • 在服务器a上的单独会话中,发出以下命令:

    $scp-p 2222 localhost:/path/to/file/on/hostC/path/to/target

  • 步骤#1是创建一个从服务器a上的端口2222到服务器B的隧道,这样当有东西通过它连接时,服务器B将建立到服务器C上的端口22(SSH/SCP端口)的连接

    步骤#2通过连接本地主机上的端口2222来请求所需文件,从而使用该隧道


    如果您考虑此方法,您可能需要查看在服务器A和B之间设置SSH授权密钥,以便不需要提示密码,以及参数-F和/或-N(取决于使用的SSH版本)。将第一个连接置于后台。

    您希望通过CLI以编程方式还是手动方式执行此操作?如果是以编程方式,那么是什么语言?您可以查看rsync-它支持无密码(基于密钥的身份验证)登录和下载