如何实现重定向到外部URL

时间:2020-01-09 12:11:36

标签: amazon-web-services redirect amazon-s3 haproxy amazon-route53

动机:我们正在维护一个在https://customerRelationsSite.com场所托管的网站

该网站即将消失,我们希望在以下使用情况下创建重定向到其他网站的URL

   location ~ ^/path/(?<section>.*) {
             resolver 8.8.8.8;
             proxy_pass https://othersite/newPath/$section$is$
           }

   location ~ ^/eula/prodmanager/(?<section>.*) {
             resolver 8.8.8.8;
             proxy_pass https://domain.salesforce.com/eula/prod/myapp/$section$is$
           }

您会考虑哪种选择? 还是还有其他最佳选择?

1 个答案:

答案 0 :(得分:1)

您可以使用静态S3存储桶来做到这一点:

https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html

正如您所说,只需将域指向(通过您喜欢的任何DNS方式)到一个否则为空的S3存储桶,并按照上面的说明设置重定向。

要获得奖励积分,您还可以安装自定义404页面等:

 <RoutingRules>
    <RoutingRule>
    <Condition>
      <HttpErrorCodeReturnedEquals>404</HttpErrorCodeReturnedEquals>
    </Condition>
    <Redirect>
      <ReplaceKeyWith>404.html</ReplaceKeyWith>
    </Redirect>
    </RoutingRule>
  </RoutingRules>

这避免了通常托管haproxy实例或Linux实例的任何复杂性,并且具有成本效益且recommended by AWS themselves

(顺便说一句-404技巧非常适合在S3存储桶中静态托管的Single Page Apps。将所有404 URL重定向回index.html-让SPA来完成其余工作!)