从浏览器直接上传到S3(亚马逊)和https麻烦

时间:2014-11-07 21:04:48

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

我创建了一个用户可以上传文件的页面。此代码段将这些文件发送到我的Amazon S3存储桶。

<form action="https://BUCKET.s3-eu-west-1.amazonaws.com/" method="post" enctype="multipart/form-data">
  <input type="hidden" name="awsAccessKey" value="ACCESS_KEY">
  <input type="hidden" name="awsSecretKey" value="SECRET_KEY"> 
  <input type="hidden" name="acl" value="private"> 
  <input type="hidden" name="policy" value="POLICY">
  <input type="hidden" name="signature" value="SIGNATURE">
  <input type="hidden" name="Content-Type" value="">
  <!-- Include any additional input fields here -->

  File to upload to S3: 
  <input name="file" type="file"> 
  <br> 
  <input type="submit" value="Upload File to S3"> 
</form> 

一切正常,但我遇到了https问题。主浏览器不信任s3-eu-west-1.amazonaws.com并显示有关不受信任连接的安全消息。

我将HTTPS连接更改为HTTP,以便我的客户不会遇到任何问题。有人对如何解决此问题有任何想法吗?

1 个答案:

答案 0 :(得分:3)

有可能你的水桶名称中有一个点。亚马逊的S3通配符证书仅适用于一个级别的子域,因此bucket.s3-eu-west-1.amazonaws.com很好,但bucket.bucket.s3-eu-west-1.amazonaws.com不是。请改用:

https://s3-eu-west-1.amazonaws.com/BUCKET/