使用它的API构建应用程序

时间:2015-03-20 13:22:44

标签: ssl web-applications architecture

我目前正在开发一个允许客户下订单的Web应用程序。

我选择处理应用程序结构的方法是将应用程序拆分为两个子应用程序:

  • 仅提供json内容的1个后端应用程序(API)
  • 1个前端应用程序(在我的案例中为AngularJS),它将API网址作为配置并提供用户内容

现在在服务器上,我为测试所做的是创建2个虚拟主机:

  • app.com
  • api.app.com

并将API链接到前端应用程序。

问题是所有内容都将通过 https 提供,并且在当前设置中,我需要购买2个SSL证书或1个通配符证书。< / p>

第二个解决方案是在前端应用程序上创建一个子目录(假设 / api )并将后端应用程序复制到其中。优点是只获得一个SSL证书并将所有内容放在同一目录中; / api将是.htaccess重定向到后端api。

我认为“最干净”的解决方案是完全拆分两个应用程序,并获得两者的通配符SSL证书,但我想听听是否有人有经验,一个解决方案是否比另一个更好。

1 个答案:

答案 0 :(得分:1)

组合的好处是你可以避免CORS。 CORS并不是那么糟糕,但它是另一个复杂因素。话虽这么说,如果你想将它暴露给外界(允许其他网页使用它),你可能还是想要经历这个过程。

如果您不希望将您的API实际暴露给第三方,只是让您的图层保持独立,那么我要么考虑合并,要么代理。我已经使用此架构将我的服务完全置于防火墙之后,并使用mod_proxy等通过我的Web服务器提供API。这很有用,因为它限制了API的曝光,并且可以一次解决CORS问题。

如果您确实希望在Web服务器和API服务器之间使用SSL,则可以在Web服务器和API服务器之间执行自行生成的客户端证书。