【问题标题】:AWS S3.generatePreSignedURL ; Using CNAME has problemsAWS S3.generatePreSignedURL ;使用 CNAME 有问题
【发布时间】:2014-01-24 07:17:40
【问题描述】:

我正在使用 generatePreSignedURL 生成格式的 URL(使用 Java SDK):

https://bucketName.s3.amazonaws.com/xyz/1765/1765877/RELATIVE/1765877?Expires=1390547709&AWSAccessKeyId=AKIAIFVBAWRYG72XANJA&Signature=ggHAYRTs2D4BQQnYIierEKGOWz0%3D

我想通过 CNAME 使用自定义域。两个问题:

  1. 由于 CNAME 不适用于 HTTPS;我需要使用http。 generatePreSignedURL 如何返回 http url。这是一个小问题..因为无论如何我都可以通过将 https 替换为 http 来手动更改它,但这看起来并不干净。

  2. 手动改成http后;和这个 URL bucketName.s3.amazonaws.com 到 customizeURL.com ;我得到 SignatureDoesNotMatch !关于如何解决这个问题的任何想法?我的 generatePreSignedURL 可以返回自定义 URL 吗?

【问题讨论】:

    标签: amazon-web-services amazon-s3 cname


    【解决方案1】:

    要让 generatePreSignedURL 为您提供 http 而不是 https URL,您必须使用不同的 ClientConfiguration 设置您的 AmazonS3Client。我在下面给出了一个例子。

    现在无法通过 https 自定义域,因为 AWS 目前不为 S3 托管客户端证书。

    ClientConfiguration clientConfig = new ClientConfiguration();
    clientConfig.setProtocol(Protocol.HTTP);
    AmazonS3Client s3Client = new AmazonS3Client(awsCredentials, clientConfig);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-10-06
      • 2018-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-15
      • 2017-07-02
      相关资源
      最近更新 更多