Laravel上的Amazon S3 ERR_INSECURE_RESPONSE

时间:2016-01-04 10:41:17

标签: amazon-web-services amazon-s3 laravel-5 amazon

我在我的子域sub.example.com上使用Laravel框架尝试与我的网站的所有图片实现与Amazon S3的连接。

这是我的保管政策(bucket-1

{
    "Id": "Policy************",
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Stmt***********",
            "Action": [
                "s3:GetObject"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::bucket-1/*",
            "Principal": "*"
        }
    ]
}

这是我的CORS

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <CORSRule>
        <AllowedOrigin>*</AllowedOrigin>
        <AllowedMethod>GET</AllowedMethod>
        <AllowedMethod>POST</AllowedMethod>
        <AllowedMethod>PUT</AllowedMethod>
        <AllowedMethod>DELETE</AllowedMethod>
        <MaxAgeSeconds>3000</MaxAgeSeconds>
        <ExposeHeader>ETag</ExposeHeader>
        <AllowedHeader>*</AllowedHeader>
    </CORSRule>
</CORSConfiguration>

我为我的用户授予了所有权限,list只授予了Everyone

为什么我上传图片时,我的网站上没有显示该图片net::ERR_INSECURE_RESPONSE)?

如果我导航到图片的网址(https://s3.eu-west-1.amazonaws.com/bucket-1/...),则Chrome会显示一个警告页面,其中包含Your connection is not private

消息
s3.eu-west-1.amazonaws.com. NET::ERR_CERT_COMMON_NAME_INVALID
Subject: *.s3-eu-west-1.amazonaws.com
Issuer: DigiCert SHA2 High Assurance Server CA

让我更加困惑的是,如果我复制粘贴另一个标签上的相同链接,我可以毫无问题地看到图片。

1 个答案:

答案 0 :(得分:2)

您正在使用s3.eu-west-1.amazonaws.com,但您应该使用s3-eu-west-1.amazonaws.com ...您想在“s3”之后使用短划线而不是点。

http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region

S3中的不同区域的惯例有所不同,具体取决于年龄。你所做的将在eu-central-1中有效,它在两种方式都有效,但在eu-west-1中则不然。