将EC2实例指向域上的目录

时间:2016-04-06 00:09:13

标签: amazon-web-services amazon-ec2 dns amazon-route53 amazon-vpc

有2个EC2实例正在运行:

  1. Windows Server 2012 - ASP.NET应用程序
  2. Linux - Wordpress博客
  3. ASP应用程序位于domain.com/

    如何将Wordpress指向domain.com/blog/而不是blog.domain.com

    您可以使用任何AWS功能。

2 个答案:

答案 0 :(得分:1)

我认为最具成本效益的方法是使用您已经拥有的资源。基本思路是将Route53记录指向其中一个EC2实例并使用“某些东西”(我稍后会解释)将这个EC2的请求重定向到另一个。它可以是从Windows到Linux,也可以是其他方式。例如:

假设您将域(domain.com)指向Linux EC2实例。我们将此命名为EC2-Linux。安装前面提到的“东西”,我建议在这个框中nginx。如果您不熟悉ngnix,check out their how-to's

启动并运行nginx后,使用重定向规则创建配置文件(注意:我尚未测试此配置文件):

server {
    listen 80;
    server_name domain.com;

    # Redirect blog request to itself
    location /blog {
        proxy_pass http://localhost:80/$uri;
        proxy_set_header Host $host:$server_port;
    }

    # Redirect the rest of the traffic to the other EC2 instance
    location /* {
        proxy_pass http://<EC2-Win IP>:80/$uri;
        proxy_set_header Host $host:$server_port;
    }
}

您肯定需要对nginx和您的应用程序进行微调以使其正常工作,但我认为这个想法可以回答您的问题而无需向您的堆栈添加更多AWS资源。

此致

答案 1 :(得分:0)

您可以使用/ blog / origin创建CloudFront分发到Linux服务器,默认为ASP.Net,这意味着/ blog /以外的所有内容都将转到ASP.Net。