如何从 Angular 前端向使用自签名证书保护的服务器发送 HTTPS 请求?
How to send an HTTPS request from an Angular front-end to a server secured with a self signed certificate?
我无法从前端 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)
我必须补充一点,这个 Angular 前端应用程序和 API 服务器的完全相同的登录在从我的 localhost
开发计算机提供服务时工作正常。仅当 Angular 前端由 GitPages 提供,API 服务器由我的远程服务器提供时,才会出现此问题。
您遇到的问题没有最终解决方案,但我想在这里向您说明一下您遇到的问题。
您想从已验证的 SSL 站点向未验证的 SSL 站点发出 HTTP 调用。这意味着以下内容:仅允许在同源服务器上进行 HTTP 调用,这意味着从经过验证(可信)的 SSL 站点到经过验证(可信)的 SSL 站点或从非 SSL 到非 SSL。
在您的情况下,自签名证书是一个(不受信任的)证书,它不允许来自有效证书的连接,因为它不在服务器上的受信任存储区中。
所以有两个解决方案:
将自签名证书添加到运行 angular 应用程序的服务器上的受信任存储区。 (但在你的情况下,你不能这样做,因为你无法访问 gitpages 受信任的商店。
使用有效证书。例如来自 LetsEncrypt.
对于这种情况,atm 没有其他解决方案。我试图找到解决方法,但由于我在上面已经描述的“同源”政策,没有解决方案。
我无法从前端 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)
我必须补充一点,这个 Angular 前端应用程序和 API 服务器的完全相同的登录在从我的 localhost
开发计算机提供服务时工作正常。仅当 Angular 前端由 GitPages 提供,API 服务器由我的远程服务器提供时,才会出现此问题。
您遇到的问题没有最终解决方案,但我想在这里向您说明一下您遇到的问题。
您想从已验证的 SSL 站点向未验证的 SSL 站点发出 HTTP 调用。这意味着以下内容:仅允许在同源服务器上进行 HTTP 调用,这意味着从经过验证(可信)的 SSL 站点到经过验证(可信)的 SSL 站点或从非 SSL 到非 SSL。
在您的情况下,自签名证书是一个(不受信任的)证书,它不允许来自有效证书的连接,因为它不在服务器上的受信任存储区中。
所以有两个解决方案:
将自签名证书添加到运行 angular 应用程序的服务器上的受信任存储区。 (但在你的情况下,你不能这样做,因为你无法访问 gitpages 受信任的商店。
使用有效证书。例如来自 LetsEncrypt.
对于这种情况,atm 没有其他解决方案。我试图找到解决方法,但由于我在上面已经描述的“同源”政策,没有解决方案。