ngo*_*ire 1 django amazon-s3 django-admin amazon-web-services cors
使用Django -
目前,我有以下设置:我有一个在Amazon Web服务Elastic Bean实例上运行的网站实例.我有另一个S3存储桶,仅用于提供静态文件.
但是,我得到的问题是当我加载我的网站的管理页面"mydomain.com/admin"让我访问该链接,但我注意到样式不存在.我在chrome上用控制台检查了一下,我看到我得到了以下所有我的资源文件:
Failed to load resource: net::ERR_INSECURE_RESPONSE
https://www.mysite.s3.amazonaws.com/jquery/ui/css/custom-them…
2g7HF81wsUgDVNeJGTaeIUoFpgOBCqxnGz4y7Nz8uY9juJllNeWHj37%2BriCVsbefBQ%3D%3D
Failed to load resource: net::ERR_INSECURE_RESPONSE
https://www.mysite.s3.amazonaws.com/stylesheets/screen.css?Si…
2g7HF81wsUgDVNeJGTaeIUoFpgOBCqxnGz4y7Nz8uY9juJllNeWHj37%2BriCVsbefBQ%3D%3D
Failed to load resource: net::ERR_INSECURE_RESPONSE
https://www.mysite.s3.amazonaws.com/stylesheets/mueller/grid/…
2g7HF81wsUgDVNeJGTaeIUoFpgOBCqxnGz4y7Nz8uY9juJllNeWHj37%2BriCVsbefBQ%3D%3D
Failed to load resource: net::ERR_INSECURE_RESPONSE
Run Code Online (Sandbox Code Playgroud)
如果我实际点击这些链接,然后转到它,它会导致我进入一个不安全的页面,然后我点击打开它,然后在mysite.com/admin上重新加载我的页面,它工作正常,所有资源加载,但如果我继续清除浏览器实例,会发生同样的事情.此外,它不应该这样做.我是否需要允许amazon s3策略或某种类型的CORS配置?我做了以下CORS配置:
这是当前正在托管我的网站的桶.这不是用于静态文件的桶.
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="/">
<CORSRule>
<AllowedOrigin>http://mysite.s3.amazonaws.com/</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
<CORSRule>
<AllowedOrigin>https://mysite.s3.amazonaws.com/</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
Run Code Online (Sandbox Code Playgroud)
如果您的存储桶名称中实际上有一个点,则无法混合虚拟样式URL和https.
https://bucket.example.com.s3.amazonaws.com/foo # insecure
https://s3.amazonaws.con/bucket.example.com/foo # secure
Run Code Online (Sandbox Code Playgroud)
这是因为通配符SSL证书(如S3提供)仅适用于主机名中的一个额外"点级",即"s3.amazonaws.com"之前的点... ...左侧多个点"s3.amazonaws.com"和浏览器将检测到证书和站点名称之间的不匹配...重要的是,如果使用第二种形式,您必须将"s3"替换为您的桶的适当区域端点. URL,上面,任何时候桶不在美国标准区域,例如us-west-2区域中的桶"bucket.example.com"和名为"foo"的文件...
https://s3-us-west-2.amazonaws.com/bucket.example.com/foo
Run Code Online (Sandbox Code Playgroud)