如何使用SSL将example.com/directory指向另一个EC2实例?

时间:2017-06-22 20:18:12

标签: apache amazon-web-services ubuntu ssl amazon-ec2

我的所有网站文件 - example.com - 在我的EC2服务器(Ubuntu和Apache)上,在EC2实例1上使用SSL。我希望example.com/blog转到另一个EC2实例 - EC2实例2.怎么能我用SSL做到了吗?

我正在使用Ubuntu和Apache以及Route 53.谢谢!

2 个答案:

答案 0 :(得分:2)

一种简单的方法是使用Cloud {this answer at Server Fault中描述的CloudFront,您可以使用路径模式确定将哪些URL传递到哪个服务器。

另一个是应用程序负载均衡器(ELB / 2.0),它允许根据path rules选择实例。

这两个解决方案都支持Amazon Certificate Manager提供的免费SSL证书。

或者,您可以在主example.com Web服务器上的Apache配置中使用ProxyPass,将匹配特定路径的所有请求转发给其他实例。

仅使用Route 53无法实现此目的,因为DNS在路径级别不起作用。这不是Route 53的限制,它是DNS运行方式的基本部分。

答案 1 :(得分:1)

您可以使用nginx反向代理快速轻松地实现此目的。您的ssl仍将在ELB级别进行管理和卸载。那就是听众443 =>> 80

1)安装nginx

yum install nginx

2)添加到nginx配置

upstream server1 {

        server  127.0.0.1:8080;

}

upstream server2 {

        server  server2_IP_address_here:8080;


}

server {
        listen 80;
        server_name example.com;

        location / {
                proxy_pass http://server1;
                proxy_set_header Host $http_host;
                proxy_set_header  X-Real-IP  $remote_addr;
        }
       location /blog {

                proxy_pass http://server1;
                proxy_set_header Host $http_host;
                proxy_set_header  X-Real-IP  $remote_addr;  
      }              

}