三层架构的 SSL 问题

SSL issue on 3 tier architecture

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

这里的问题是当我从客户端浏览器 (IE/Edge) 访问网络应用程序 URL 时,我们可以看到呈现的页面,但我们没有从应用程序 API 服务器在我们提交时在登录页面上。客户端已经明确所有对应用服务器的请求都必须来自网络服务器,并且它不会接受来自客户端浏览器的请求。

我想知道我的应用程序服务器是否正在考虑此请求来自 Web 服务器或客户端浏览器?应用程序服务器将只接受来自网络服务器的 SSL(443) 连接。

任何信息都会有所帮助。

您的 angular/frontend 应用程序消耗的 API 始终会从客户端的 browser.You 调用,必须打开 HTTP 连接并且 public 面向您的 API 服务器,以便 angular 应用程序可以从任何浏览器使用您的 API。要限制来自其他媒体的 API 而不是您的应用程序,您必须在后端 API 中添加 CORS 策略。所以最终的解决方案是这样的:

  • 打开 HTTP 和 HTTPS 端口,public 面向您的 API 服务器
  • 在您的后端 API 添加 CORS 策略,以便在没有您的 angular 应用程序的情况下,其他媒体无法使用您的 API。