如何仅使用 AWS 服务重定向流量?

Posted

技术标签:

【中文标题】如何仅使用 AWS 服务重定向流量?【英文标题】:How to redirect traffic using only AWS services? 【发布时间】:2017-09-30 16:34:10 【问题描述】:

我有一个托管在 AWS s3 存储桶“domain1.com”中的静态网站,它前面有一个云端分发,将所有 http 流量重定向到 https,还有一个 Route53 记录,用于将流量路由到云端分发。这目前正在工作,但我似乎无法让以下工作:

将以下所有内容重定向到https://domain1.com

http://www.domain1.com
https://www.domain1.com
http://domain2.com
https://domain2.com
http://www.domain2.com
https://www.domain2.com

有没有人指点?我尝试使用 s3+route53 进行重定向,但它仅适用于 http://domain2.com 而 https://domain2.com 未重定向...

【问题讨论】:

在 CloudFront 上使用带有 HTTPS 的自定义域名并不简单。请参阅:Amazon CloudFront Custom SSL 另外,您所说的“重定向”是什么意思——您可以只显示内容,还是希望网络浏览器在地址栏中显示其他域名? 地址栏中的域名最好显示domain1.com 【参考方案1】:

一种快速而肮脏的方法是使用 S3 和 Route 53。 让我们将存储桶称为“bucket-domain1-com”

http://www.domain1.com -> point to actual site (use mod_rewrite to change to https)
https://www.domain1.com -> point to actual site
http://domain2.com -> point to cloudfront distro -> s3 "bucket-domain1-com"
https://domain2.com -> point to cloudfront distro -> s3 "bucket-domain1-com"
http://www.domain2.com -> point to cloudfront distro -> s3 "bucket-domain1-com"
https://www.domain2.com -> point to cloudfront distro -> s3 "bucket-domain1-com"

S3 的问题是您不能使用 https。 CloudFront 解决了这个问题。

然后按照这里的说明配置s3重定向到https://domain1.com

这是基本思想。

【讨论】:

是的,我意识到我在 cloudfront 源中使用了错误的 s3 网站 URL,这就是它以前不起作用的原因。现在一切都好,谢谢!

以上是关于如何仅使用 AWS 服务重定向流量?的主要内容,如果未能解决你的问题,请参考以下文章

Magento 重定向 AWS 负载均衡器

如何在 AWS ALB 上重定向到 https://example.com/ 而不是 https://example.com:443/?

使用 AWS Elastic Beanstalk 重定向到 https 不起作用

如何将域中的多个路径重定向到不同的 AWS 负载均衡器?

如何将子域重定向到路径 AWS EC2 apache 服务器和 cloudflare

将部分流量重定向到其他服务器