代码之家  ›  专栏  ›  技术社区  ›  HotDudeSmith

我的域及其子文件夹能否连接到EC2?

  •  0
  • HotDudeSmith  · 技术社区  · 6 年前

    我的计划是在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 (不是子域)和从其他主机到EC2的SSL证书?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Quentin Revel    6 年前

    TL;博士

    使用Lunarpages作为 reverse proxy .

    关于DNS

    DNS无法管理“子文件夹”(URI)。当用户在网站中键入URL时(或当您向API发出请求时),web浏览器将对域进行DNS解析。因此,它将连接到 www.example.com 然后搜索 /apps/project3/api .这意味着不可能 www.example.com/a 在一台服务器上 www.example.com/b 在另一个上使用DNS机制。

    反向代理

    为了解决这个问题,一种解决方案是反向代理。如果Lunarpages允许,您可以使用它们的主机作为EC2的代理。每一个请求 www.example。通用域名格式 将在Lunarpages上处理。只有 /apps/project3/api/* 将代理EC2。Lunarpages将执行SSL终止,然后将请求代理给EC2。

    缺点

    正如您可以想象的那样,请求先发送到Lunarpages,然后发送到EC2,最后通过Lunarpages返回到客户端,这会对性能和响应时间产生很大影响。

    安全性也很重要,因为Lunarpages和EC2之间的通信应该加密。这意味着另一个SSL证书( self signed )应该出现在EC2上。

    其他解决方案

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

    • 在Lunarpages上托管所有内容
    • 在AWS上托管所有内容(重新考虑此选项)
    • 为API使用其他子域( api.example.com )这将指向EC2并管理的SSL证书 应用程序编程接口。实例通用域名格式 在这个EC2上。