如何在S3和CloudFront中托管网站?

时间:2019-07-17 04:27:21

标签: amazon-s3 amazon-cloudfront

我正在尝试使用CloudFront,S3和Amazon EC2托管Angular网站 实例。我正在为例如创建一个存储桶bucket_name并在其中创建3个文件夹: 1.例子 2.登录 3.注销

我的网址是:- 1. abc.com/example/ 2. abc.com/example/login 3. abc.com/example/logout

但是,当我托管我的网站时,我能够访问abc.com/example/,但是我面临的问题是,当我尝试访问登录和注销URL时,出现错误“ 404 not found”。因为它试图像这样将example / login / index.html和EC2实例用于API调用,所以在S3存储桶的example文件夹中定位index.html。

1 个答案:

答案 0 :(得分:1)

要将网站托管在S3存储桶上并且aws CloudFront,您必须在S3存储桶中包含父文件index.html,此后,您需要在S3存储桶的属性下配置静态网站托管。将这些字段设置为use this bucket to host website,然后输入索引文档index.html 此文件必须在S3存储桶中 ,然后保存。

下一步,您可以编辑此存储分区的公共访问权限,如果您希望外部访问此站点,则turn off在S3存储桶的权限标签下阻止公共访问。

稍后,要使用CloudFront托管它,您需要创建 CloudFront发行版,并将Origin Domain name = Your S3 bucket name Default Root Object 设置为父index.html文件( (存储在s3存储桶中)并保存此CloudFront分发,现在在浏览器上检查域名URL ,它应该可以正常工作。

完成此操作后,您可以根据需要为后端API调用设置EC2实例。