简体   繁体   English

3 层架构上的 SSL 问题

[英]SSL issue on 3 tier architecture

We are setting up an Angular/MVC web application on our client's infrastructure where they have several stringent security policies.我们正在客户的基础设施上设置一个 Angular/MVC web 应用程序,他们有几个严格的安全策略。 We have web / App /DB in 3 separate VMs running on windows.我们在 windows 上运行的 3 个独立 VM 中有 web / App /DB。 We have installed self-signed SSL certificates on Web & App server.我们已经在 Web 和 App 服务器上安装了自签名的 SSL 证书。 No connection to DB from web allowed and No connection from browser directly to Application server allowed.不允许从 web 连接到数据库,并且不允许从浏览器直接连接到应用程序服务器。

Issue here is when I access the web application URL from a client browser (IE/Edge) we can see the page rendered but we aren't getting the response from app API server on the login page when we submit.这里的问题是当我从客户端浏览器(IE/Edge)访问 web 应用程序 URL 时,我们可以看到呈现的页面,但是当我们在服务器上提交登录页面时,我们没有收到来自应用程序 ZDB974238714CA8DE634A7CE1D083A14F 的响应。 Client has made it clear that all requests to app server have to be from web server and it won't accept requests from the client browser.客户端已明确表示对应用服务器的所有请求都必须来自 web 服务器,并且它不会接受来自客户端浏览器的请求。

I wanted to know if my app server is considering this request to be originating from web server or from the client browser?我想知道我的应用服务器是否认为此请求来自 web 服务器或客户端浏览器? App server will only accept SSL(443) connections from web server.应用服务器将只接受来自 web 服务器的 SSL(443) 连接。

Any information would be helpful.任何信息都有帮助。

The API consumed by your angular/frontend application always will be called from the client's browser.You have must HTTP connection open and public facing in your API server so that the angular application can consume your API from any browser. The API consumed by your angular/frontend application always will be called from the client's browser.You have must HTTP connection open and public facing in your API server so that the angular application can consume your API from any browser. To restrict the API from other media rather than your application you have to add CORS policy in your backend API.要限制 API 来自其他媒体而不是您的应用程序,您必须在后端 API 中添加 CORS 策略。 so the ultimate solution stands like this:所以最终的解决方案是这样的:

  • Open HTTP and HTTPS port and public face your API server打开 HTTP 和 HTTPS 端口和公众面对你的 API 服务器
  • Add CORS policy in your backend API so that without your angular application no other media can consume your API.在您的后端 API 中添加 CORS 策略,以便在没有您的 angular 应用程序的情况下没有其他媒体可以使用您的 ZDB974238714CA8DE6347ACE。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM