我的所有网站文件 - example.com - 在我的EC2服务器(Ubuntu和Apache)上,在EC2实例1上使用SSL。我希望example.com/blog转到另一个EC2实例 - EC2实例2.怎么能我用SSL做到了吗?
我正在使用Ubuntu和Apache以及Route 53.谢谢!
答案 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;
}
}