三层架构上的SSL问题



我们正在客户端的基础设施上建立一个Angular/MVC web应用程序,那里有几个严格的安全策略。我们有web/App/DB在windows上运行的3个独立的虚拟机。我们已经在Web上安装了自签名SSL证书。应用程序服务器。不允许从web连接到数据库,不允许从浏览器直接连接到应用服务器。

这里的问题是,当我从客户端浏览器(IE/Edge)访问web应用程序URL时,我们可以看到渲染的页面,但当我们提交时,我们没有从登录页面上的应用程序API服务器获得响应。客户端已经明确表示,所有请求应用服务器必须来自web服务器,它不会接受来自客户端浏览器的请求。

我想知道我的应用服务器是否认为这个请求是来自web服务器还是来自客户端浏览器?应用服务器只接受来自web服务器的SSL(443)连接。

任何信息都会有帮助的。

你的angular/前端应用所使用的API总是会从客户端的浏览器调用。你必须在你的API服务器中打开一个HTTP连接,并将其公开,这样angular应用才能从任何浏览器中使用你的API。要限制来自其他媒体而不是应用程序的API,必须在后端API中添加CORS策略。所以最终的解决方案是这样的:

  • 打开HTTP和HTTPS端口并公开您的API服务器
  • 在你的后端API中添加CORS策略,这样没有你的angular应用,其他媒体就不能使用你的API。

最新更新