0

我看不出前端 Angular 应用程序的请求有什么问题。

我之前https://thalasoft.com:8443/api/从同一个浏览器发送了请求,并确认我同意了自签名证书。

https://stephaneeybert.github.io/stephaneeybert/ng-zero/login但是,当从发送请求的前端应用程序尝试它时,https://thalasoft.com:8443/api/auth/login浏览器调试控制台会显示Status Code: 504 Gateway Timeout (from ServiceWorker)

localhost我必须补充一点,当从我的开发计算机提供服务时,这个 Angular 前端应用程序和 API 服务器的完全相同的登录名可以正常工作。仅当从 GitPages 提供 Angular 前端并从我的远程服务器提供 API 服务器时,才会出现此问题。

4

1 回答 1

2

您面临的问题没有最终解决方案,但我想向您解释您在这里面临的问题。

您想从经过验证的 SSL 站点向未经验证的 SSL 站点发起 HTTP 调用。这意味着以下内容:HTTP 调用仅允许在同源服务器上进行,这意味着从经过验证(受信任)的 SSL 站点到经过验证(受信任)的 SSL 站点或从非 SSL 到非 SSL。

在您的情况下,自签名证书是一种(非受信任)证书,它不允许来自有效证书的连接,因为它不在服务器上的受信任存储中。

所以有两种解决方案:

  1. 将自签名证书添加到运行 Angular 应用程序的服务器上的受信任存储中。(但在您的情况下,您不能这样做,因为您无权访问 gitpages 受信任的商店。

  2. 使用有效的证书。例如来自 LetsEncrypt。

对于这种情况,atm 没有其他解决方案。我试图找到一种解决方法,但由于我上面已经描述的“同源”政策,没有解决方案。

于 2019-01-25T20:17:02.327 回答