AWS S3通过使用PHP的代理

时间:2018-01-16 08:53:57

标签: php amazon-web-services amazon-s3 proxy

我正在尝试使用PHP通过代理服务器获取对象图像。

我正在使用此代码

convert filename.png filename.svg

似乎工作正常。现在,我不确定是否使用代理服务器。

我对此毫无头绪。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我还没有使用S3Client的代理,但根据我的经验,任何支持代理的基于PHP或控制台的应用程序将始终使用代理(如果有的话)。在您使用代理时,最简单的方法是

  • 暂时关闭您在代码中使用的代理服务器(如果可能)使用PHP服务器上的出站防火墙访问规则或代理上的入站规则来阻止对其的访问
  • 重新运行上述代码并检查您是否仍然可以访问AWS

您还可以使用S3Client的statsdebug标志来获取有关底层HTTP连接的更多信息,这些连接还应显示与代理的连接,而不是直接连接到AWS:< / p>

$client = new Aws\S3\S3Client([
    'version'     => 'latest',
    'region'      => 'us-east-1',
    'debug'       => TRUE, // enable debug info
    'stats'       => TRUE, // enable stats
    'request.options' => array(
    'proxy' => 'http://127.0.0.1:123' // add the protocol before the IP address
    ),
    'credentials' => [
        'key'    => base64_decode(KEY),
        'secret' => base64_decode(SECRET)
    ]
]);

// Perform an operation.
$result = $client->listBuckets();
// Inspect the stats.
$stats = $result['@metadata']['transferStats'];
// display all information about last transfer
print_r($stats);