我的域名与子文件夹可以连接到EC2吗?

时间:2018-05-16 21:53:42

标签: amazon-web-services ssl amazon-ec2 https

我的计划是向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吗?

1 个答案:

答案 0 :(得分:0)

TL; DR

将Lunarpages用作reverse proxy

关于DNS

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)。

其他解决方案

即使有多个服务器来处理请求,我强烈建议对同一域名使用相同的托管服务提供商。想到树解决方案:

  • 在Lunarpages上托管所有内容
  • 在AWS上托管所有内容(重新考虑此选项)
  • 为API(api.example.com)使用不同的子域,该子域将指向EC2并在此EC2上管理api.example.com的SSL证书。