目前我正在使用Angular,ExpressJS和Mongodb构建应用程序。简短的问题:让角度到达(GET / POST / DELETE)'/ api'(表达由Js + Mongodb支持restful)。但是api是私有的,所以只有有角度的客户端才能使用api。
长问题: - Angular客户端:http://localhost:3000, - Express + restful :http://localhost:3005/api, - Apache local proxy to localhost :domain.com - >本地主机:3000
我的Angular客户端正在对后端api执行GET / POST请求。只有在端口3000上运行的客户端才能访问此api。快速服务器应阻止REST客户端请求。一切都在apache2背后。 Apache反向代理仅客户端。客户端和服务器端彼此分开。如何才使服务器端保密,不能从外部访问?
到目前为止,我试过了:
- 也许我只需要向正确的方向推进,我对任何答案都很满意。
编辑:我发现代理后面无法访问我的api。您无法调用localhost:3005 / api,因为apache将所有内容代理到localhost:3000。我这是对的吗? 99%安全吗? 的
答案 0 :(得分:0)
好的方法是建立与OAuth服务器集成的api。之后,您可以简单地生成一个客户端ID,并将其放在前端的某个位置以便可访问。然后,您的前端将能够请求和使用将授予访问数据权限的令牌。
这具有额外的好处,即如果将来需要,能够基于客户端ID支持登录和选择性访问。这是一篇你可以查看的有趣文章。
http://scottksmith.com/blog/2014/07/02/beer-locker-building-a-restful-api-with-node-oauth2-server/