使用 cert 的 Angular HTTP 调用

Angular HTTP call with cert

提问人:Cpui 提问时间:11/9/2023 更新时间:11/9/2023 访问量:43

问:

我有一个 Post API 调用,它在带有证书(CRT 和密钥文件)的 Postman 中工作正常。

从前端调用此 api 时,我在浏览器上收到“HttpErrorResponse”错误。

在进行 API 调用时,我是否需要在前端考虑证书(CRT 和密钥文件)? 以下是在 Angular 中进行 http 调用时的错误

[Error] XMLHttpRequest cannot load <url> due to access control checks.
"error": "[ProgressEvent]", 
"headers": "[ti]", 
"message": "Http failure response for https://....b/files: 0 Unknown Error", "name": "HttpErrorResponse", 
"ok": false, 
"status": 0, 
"statusText": "Unknown Error", 
"url": "https://...b/files"

从后端检查日志时

SSL_do_handshake() failed (SSL: error:14094416:SSL routines:ssl3_read_bytes:sslv3 alert certificate unknown:SSL alert number 46) while SSL handshaking, client: <IP>, server: <IP>

如何在 Angular 或服务器端解决这个问题?

angular spring-boot cors angular-httpclient

评论

0赞 Andrei 11/9/2023
此问题称为 CORS,应通过配置 CORS 在服务器端解决。
0赞 Cpui 11/9/2023
我尝试了与CORS相关的修复。但不起作用。看起来像服务器端的证书问题
0赞 jub0bs 11/9/2023
域是否具有有效的证书?这似乎是问题所在,而不是 CORS。
0赞 Cpui 11/9/2023
所以有 2 个 API 服务。一个是具有 API 密钥身份验证的实际服务,另一个是前端 (bff) 服务的后端,它使用密钥调用实际服务。因此,从前端我不需要通过api密钥身份验证,并且我正在调用bff服务。这两种服务在具有 CRT 和密钥证书的邮递员上都运行良好,但在从 FE 调用 bff 时,出现此错误。所以不确定是 FE 还是 BE 问题。

答: 暂无答案