Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 同一域上具有不同子文件夹的两个不同AWS应用程序_Amazon Web Services_Amazon S3_Amazon Ec2_Dns_Amazon Route53 - Fatal编程技术网

Amazon web services 同一域上具有不同子文件夹的两个不同AWS应用程序

Amazon web services 同一域上具有不同子文件夹的两个不同AWS应用程序,amazon-web-services,amazon-s3,amazon-ec2,dns,amazon-route53,Amazon Web Services,Amazon S3,Amazon Ec2,Dns,Amazon Route53,基于这个问题,我正在考虑更改我的应用程序URL 我在以下子域上有两个应用程序 https://ui.example.com-托管在Amazon S3上的静态AngularJS应用程序(JavaScript、HTML) https://api.example.com-托管在Amazon EC2实例上的Java Spring应用程序(针对Tomcat),具有弹性负载平衡,可跨多个Amazon EC2分发传入的应用程序流量 现在,我需要将我的应用程序的URL更改为以下内容: https://ui.ex

基于这个问题,我正在考虑更改我的应用程序URL

我在以下子域上有两个应用程序

https://ui.example.com
-托管在Amazon S3上的静态AngularJS应用程序(JavaScript、HTML)

https://api.example.com
-托管在Amazon EC2实例上的Java Spring应用程序(针对Tomcat),具有弹性负载平衡,可跨多个Amazon EC2分发传入的应用程序流量

现在,我需要将我的应用程序的URL更改为以下内容:

https://ui.example.com
https://ui.example.com/api
换句话说,我需要将
api.example.com
应用程序作为我的
ui.example.com
域的
/api
子文件夹提供


如何使用AWS进行配置?在AWS的什么地方我需要进行适当的更改和配置?

您可以在两台服务器前面设置一个Nginx代理,将根路径映射到S3,将/api路径映射到EC2实例。或者您可以设置CloudFront发行版(或使用另一个CDN,如CloudFlare),并将不同的路径映射到不同的源服务器


一般来说,您必须在共享一个域名的所有服务器前面放置一个代理。

谢谢您的回答。亚马逊53号路线有可能吗?@alexanoid没有,这个问题一直被问到这里。路由53只是一个DNS服务。DNS只管理域名的映射。您需要管理整个URL路径映射的东西。因此,为了使用AWS产品,CloudFront发行版看起来更符合逻辑?对于当前的任务,这个解决方案有什么缺点吗?当您使用CloudFront时,您将启用一个完整的CDN,因此请注意缓存您的服务可能带来的所有问题。CloudFront将相当昂贵。不过,使用CDN也有很多优点。我假设“ui.example.com”的别名是Route 53中的S3 bucket。在这种情况下,我看不到向ELB发送“ui.example.com/api”的选项。只要您必须使用这两个名称,我倾向于同意建议的答案,并设置一个Nginx代理主机,然后创建类型为A的Route 53记录:“ui.example.com”=Nginx elastic IP,然后配置Nginx将“/”转发或重定向到您的S3 bucket(或者更好的是它的Cloudfront分发版)和“/api”到您的ELB。下面是一个可以使用的Nginx配置示例: