我想在 CloudFront 发行版后面部署 AppSync API。
CloudFront 发行版需要 HTTP 源,如何从一个 CDK 堆栈内的 API 对象获取此源?
我定义了以下 Cloudformation 模板,我想在其中从参数文件传递公钥。“MyPublicKey”变量是字符串类型。我通过使用引用这个变量
EncodedKey !Ref MyPublicKey
Run Code Online (Sandbox Code Playgroud)
在 PublicKeyConfig 下,如下所示。
AWSTemplateFormatVersion: "2010-09-09"
Parameters:
MyPublicKey:
Type: String
Description: 'Public key for some purpose'
NoEcho: true
Resources:
CloudfrontPublicKey:
Type: AWS::CloudFront::PublicKey
Properties:
PublicKeyConfig:
CallerReference: 'some-caller-reference'
Comment: 'Public key for signed url'
Name: 'cloudfront-public-key'
EncodedKey: !Ref MyPublicKey
...
Run Code Online (Sandbox Code Playgroud)
parameter.json 文件看起来像这样。公钥在原始 .pem 文件中是多行,但我在字符串中有换行符的地方添加了新行字符“\n”。
[
{
"ParameterKey": "MyPublicKey",
"ParameterValue": "-----BEGIN PUBLIC KEY-----\naaaa\nbbbb\n-----END PUBLIC KEY-----"
},
]
Run Code Online (Sandbox Code Playgroud)
当尝试更新堆栈时,我收到以下错误:
Invalid request provided: AWS::CloudFront::PublicKey
Run Code Online (Sandbox Code Playgroud)
似乎无法导入公钥。
我使用 CloudFront 以 S3 作为源(存储桶不是公共的,静态网站未启用)。该存储桶有一些随机名称。
我已经为 example.com 创建了 ACM 和 R53 主树 + 为此域配置了 CloudFront,它在https://example.com上运行良好上运行良好。
现在我想将https://www.example.com重定向到https://example.com。我将www.example.com作为域添加到 CloudFront(不确定是否需要),并从www.example.com创建了一个新的 R53 主条目 (CNAME)到 example.com 的新 R53 主条目 (CNAME)。
现在,domain.com 和www.example.com都可以工作,但这不是我想要的。我希望www.example.com重定向到 example.com。我该如何修复它?
cname amazon-s3 amazon-web-services amazon-cloudfront amazon-route53
我理想的设置是获取当前客户端站点,上传带有正则表达式的.htaccess,与URI匹配,如果找到某个文件扩展名,它将使用相同的路径,但域名更改.
即.
正常路径:
http://www.domain.com/something/images/someimage.jpeg
http://www.domain.com/assets/js/jquery.js
.htaccess翻译将上述内容变为:
http://mycdn.other.com/something/images/someimage.jpeg
http://mycdn.other.com/assets/js/jquery.js
我连续几个小时用谷歌搜索,没有运气.同样,这是为了实际使用亚马逊的CloudFront.S3已经安装到网站上,用于使用s3fs备份和存储文件,但由于它直接使用S3而不是使用CloudFront,因此无法解决问题.
是否可以从ec2托管mysite.com/,从cloudfront托管mysite.com/logo.gif?
我打算用c#实现亚马逊的CDN(内容交付网络),在ASP.NET MVC3中称为CloudFront.
我已经开始搜索它,但有点混淆下面提到的一些事情.
是否必须首先将所有静态资源上传到CDN网络,然后我们可以使用或者亚马逊是否可以管理网站静态资源,这是预定义的文件夹或网站目录?
当静态资源发生任何变化或每次我们必须将更新的资源上传到CDN网络时,亚马逊会自动更新其副本吗?
我的网站访问量大部分来自印度。据我所知,Cloudfront从最近的数据中心传输数据。但向印度传输数据的费用几乎是0.17美元的两倍,而s3中为0.09美元。我是否可以在s3中将数据中心设置为某个亚洲国家/地区,以便以几乎相同的速度提供内容,还是我应该选择Cloudfront?
假设一个域名为www.example.com的网站托管在webhoster的LAMP服务器上,该服务器不是Amazon。该域由Route53管理。
是否可以某种方式将所有设置保留在LAMP Web服务器上,并且仍将www.example.com用作Cloudfront的域?喜欢:
Client -> www.example.com -> Cloudfront Edge Server -> Custom origin available over www.example.com on LAMP webserver of third party webhoster
Run Code Online (Sandbox Code Playgroud)
基本上,我想同时将www.example.com用于Cloudfront Edge Server和LAMP服务器。
最好的祝福
有一阵子,我只是将网站内容存储在s3存储桶中,并且可以通过完整的url访问所有页面。我想通过添加SSL使我的网站更安全,所以我创建了一个CloudFront发行版以指向我的s3存储桶。
该站点将加载正常,但是如果用户尝试刷新页面或尝试使用完整URL(即www.example.com/home)访问页面,则他们将收到一个AccessDenied页面。
我希望将基本用户身份验证添加到我将在AWS上使用的静态站点,以便只有那些将提供给这些用户的用户名和密码正确的用户才能访问该站点。我找到了s3auth,这似乎正是我要寻找的东西,但是,我想知道是否需要以某种方式为除index.html之外的页面设置授权。例如,我有3个页面,分别是index,about和contact.html,而没有对about.html进行身份验证的设置是什么阻止了个人通过www.mywebsite.com/about.html直接访问该网站?我更希望获得澄清或任何人可以提供的任何资源来解释这一点!
谢谢您的帮助!
authentication amazon-s3 bucket amazon-web-services amazon-cloudfront
amazon-s3 ×5
.htaccess ×1
amazon-ec2 ×1
angular5 ×1
aws-appsync ×1
aws-cdk ×1
bucket ×1
cdn ×1
cname ×1
mod-rewrite ×1