我的计划是向EC2添加HTTPS和SSL。我有一个问题是我拥有自己的域名,网站和SSL证书都在不同的托管上,如Lunarpages。我是否有可能允许我的域https://www.example.com/apps/project3/api从Lunarpages连接到EC2,即使我已经在Lunarpages托管上安装了SSL证书。所以我不需要在EC2上创建SSL证书。我不想将我的网站www.example.com移动到EC2,它应该保留在Lunarpages主机上。
我可以从我的https://www.example.com/apps/project3/api(非子域)和SSL证书从其他主机连接到EC2吗?
答案 0 :(得分:0)
将Lunarpages用作reverse proxy。
DNS无法管理"子文件夹" (URI)。当用户在您的网站中键入您的URL时(或当您向API请求时),Web浏览器将对域进行DNS解析。因此,它会连接到www.example.com
,然后搜索/apps/project3/api
。这意味着无法通过DNS机制在一台服务器上使用www.example.com/a
,在另一台服务器上使用www.example.com/b
。
要解决此问题,一种解决方案是反向代理。如果Lunarpages允许,您可以使用他们的托管作为您的EC2的代理。 www.example.com
的每个请求都将在Lunarpages上处理。只有/apps/project3/api/*
的请求才会被代理到EC2。 Lunarpages将执行SSL终止,然后将请求代理到EC2。
您可以想象,将请求发送到Lunarpages然后再发送给EC2并最终通过Lunarpages返回客户端会对性能和响应时间产生重大影响。
安全性也很重要,因为Lunarpages和EC2之间的通信应该加密。这意味着EC2上应该存在另一个SSL证书(self signed)。
即使有多个服务器来处理请求,我强烈建议对同一域名使用相同的托管服务提供商。想到树解决方案:
api.example.com
)使用不同的子域,该子域将指向EC2并在此EC2上管理api.example.com
的SSL证书。