有没有办法将多个(数千个)子域映射到一个s3-bucket?如果是这样,还可以将其映射到每个子域的存储桶中的特定路径?
我希望test1.example.com映射到mybucket/test1和test2.example.com以映射到mybucket/test2.
我知道最后一部分是不可能与正常的DNS记录,但也许有一些漂亮的Route 53功能?
我在Cloudfront中创建了一个私有分发以防止热链接.我设法使用签名URL创建指向我的对象的链接,现在工作正常.
我唯一担心的是,我的css样式表中的图片链接无效,因为它们没有签名.所以,如果我有,例如:
background-image: url('../img/bg.png');
Run Code Online (Sandbox Code Playgroud)
由于样式表不包含签名的URL,因此背景图像不会显示,因此,Cloudfront拒绝提供内容.
有什么办法可以防止这种情况发生吗?
我有一个S3桶.通过https://s3.amazonaws.com/访问其根URL时,它告诉我Access denied.
S3存储桶没有为其定义权限规则Everyone.
但是,通过我们的Cloudfront访问同一个桶Domain Name全ListBucketResult被退回.
Cloudfront提供了一个完整的目录列表,我们希望阻止它.
如何通过Cloudfront禁用该列表?
我尝试*在Cloudfront中使所有对象()无效,但没有效果.
我知道cloudfront提供了一种使文件无效的机制,但是如果我想使特定文件夹中的所有文件无效呢?该文档提到我不能使用通配符来执行此操作.
以下是官方文档中的说明:
您必须显式地使希望CloudFront停止服务的每个对象和每个目录无效.您不能使用通配符使对象组无效,也不能通过指定目录路径使目录中的所有对象无效.
我有一个Rails应用程序,托管在Heroku上.在部署期间,资产通过gem与Amazon S3存储桶同步,asset_sync并且视图通过CloudFront调用这些资产.但是,使用Firefox查看网站时不会呈现字体(文件在Firebug的"网络"选项卡中加载,但根本不使用).Safari很棒.
我在S3上有以下CORS配置:
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>Content-*</AllowedHeader>
<AllowedHeader>Host</AllowedHeader>
</CORSRule>
</CORSConfiguration>
Run Code Online (Sandbox Code Playgroud)
我的应用程序还设置了以下标题:
Access-Control-Allow-Origin: *
Access-Control-Request-Method: *
Run Code Online (Sandbox Code Playgroud)
但CloudFront返回没有它们的字体...为什么没有加载字体?提前致谢.
我即将使用S3/Cloudfront启动静态网站.我不需要网站的HTTPS,但网站的当前迭代是通过HTTPS提供的,并且有数百个链接和索引的URL是HTTPS.
我一直在搜索数小时,并且在仅使用S3/Cloudfront时无法找到将我们的HTTPS URL重定向到HTTP的方法.目前,HTTPS URL将拒绝连接,而不是重定向到页面的HTTP版本.
没有Apache,似乎不可能这样做.任何提示?
AWS是否允许使用Cloudfront进行网站使用,例如: - 缓存网页.网站只能在公司VPN中访问.在一个网络中使用受限制的应用程序时,在云端缓存网页是一个好主意吗?
似乎无法调用通过CloudFront分配启用AWS_IAM保护的REST API.
以下是如何重现这个:
现在使用经过身份验证的用户(我使用Cognito UserPool用户和aws-amplify)来调用
我得到的错误是:
{"message":"我们计算的请求签名与您提供的签名不匹配.请检查您的AWS秘密访问密钥和签名方法.有关详细信息,请参阅服务文档."}
我无法相信AWS不支持自定义域后面的AWS_IAM受保护端点,因为这必须是一个非常常见的用例.
因此,请您提供一份如何实现这一目标的详细清单?
谢谢
amazon-cloudfront amazon-cognito aws-sdk aws-api-gateway aws-amplify
我一直在尝试在AWS上设置一个简单的无服务器应用程序,但我无法理解如何将这些部分与自定义域放在一起.
Web应用程序路由应如下所示:
/ - >从S3 Bucket提供静态HTML/CSS/JS/api/people/ - > Lambda函数调用/api/dogs/ - > Lambda函数调用/stats/ - > Lambda函数调用/backend/ - >从S3 Bucket提供静态HTML/CSS/JS我尝试过使用API Gateway和CloudFront并将它们与Route53连接到我的自定义域,但它们似乎只支持静态S3或Lambda JSON路由.
AWS架构将如何显示我可以自由选择路由到不同AWS资源的路径(例如/- > S3,/api/people/- > Lambda,/api/dogs/- > Lambda,/backend/- > S3)
非常感谢你提前.
amazon-s3 amazon-cloudfront amazon-route53 aws-lambda aws-api-gateway
我已经创建了一个 S3 并且我成功地在存储桶上上传了文件。现在,我试图让它与 CloudFront 一起工作,但它给了我
非法位置约束异常
ap-east-1 位置约束与此请求发送到的区域特定端点不兼容。
我的 S3 网址是:http : //my-bucket-name.s3.ap-east-1.amazonaws.com/assets/local/css/app.css(这会返回文件)
CloudFront 链接到 S3,网址为:https : //id.cloudfront.net/assets/local/css/app.css(这会返回 IllegalLocationConstraintException)
在 S3 存储桶 > 权限 >
“阻止公共访问”已关闭
“存储桶策略”是自动生成的:
{
"Version": "2008-10-17",
"Id": "PolicyForCloudFrontPrivateContent",
"Statement": [
{
"Sid": "1",
"Effect": "Allow",
"Principal": {
"AWS": "######"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::my-bucket-name/*"
}
]
}
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
amazon-s3 ×7
amazon-vpc ×1
aws-amplify ×1
aws-lambda ×1
aws-sdk ×1
cdn ×1
dns ×1
firefox ×1
heroku ×1
php ×1
vpn ×1