Web应用程序(war)提供两组HTTP API,一组用于Internet上的客户端,另一组用于内部,不应公开到Internet。网络部署保护内部API的最佳做法是什么?
我知道一种常见的方法是将应用程序拆分为两个可部署的,在DMZ中放置为公共API提供服务的前端,并在内部网络中放置为内部API提供服务的后端。但出于某种原因,我希望将应用程序保持为可部署的。
答案 0 :(得分:1)
你可以在这里尝试一些事情。对于私有API,我真的建议将其切换到自己的应用程序,该应用程序侦听本地唯一的地址。如果必须将它们保持在一起,则可以实现使用内部API所需的某种oauth设置,这样只有具有有效oauth令牌的用户才能完成对受限资源的API请求。
答案 1 :(得分:0)
最后,我们引入了一个反向代理来隐藏内部网络中的API。来自Internet的客户端只能连接到反向代理,反向代理配置为仅将对公共API的请求转发给应用程序。