【问题标题】:net::ERR_CONNECTION_CLOSED in Angular 2 Firebase AppAngular 2 Firebase 应用程序中的 net::ERR_CONNECTION_CLOSED
【发布时间】:2018-01-16 02:40:29
【问题描述】:

我在 Firebase 中的 DigitalOcean droplet 和 Angular 应用上托管了我的 Node 应用和 MongoDB。我能够从 Postman 和在端口 4200 上本地运行的 Angular 应用程序连接到 Node 后端。但是当我使用托管在 Firebase 中的 Angular 应用程序连接到 DO Droplet 中的后端时,我在 Chrome 控制台中收到此错误。

我在 Node 应用的 CORS 白名单数组中添加了 Firebase 应用的链接,还在 environment.prod.ts 文件中添加了后端 url 为

backednUrl: 'https://***.**.**.***:3000'

错误日志在Specific中没有说太多。如何修复此错误?这是因为任何 SSL 或 HTTPS 问题吗?

【问题讨论】:

  • 可能是你的服务器没有运行端口号,检查连接

标签: node.js mongodb angular http ssl


【解决方案1】:

当远程服务器未侦听请求时会发生此类错误。

例如,如果无法连接(例如,远程服务器没有监听端口上的请求),您将收到此错误:

net::ERR_CONNECTION_REFUSED

你的情况是:

net::ERR_CONNECTION_CLOSED

此错误通常与 SSL 和您的 SSL 证书有关。您需要确保您拥有有效的 SSL 证书。

【讨论】:

  • 那么,我应该为我的前端应用域或后端节点应用获取 SSL 证书?
  • 使用 SSL 的服务器证书有问题。您的浏览器 SSL 证书说明了什么?它是绿色的,还是黄色/红色的?单击它并检查文本。
  • 这就是您收到错误的原因。不安全的连接,因此浏览器出于安全原因将其关闭。听起来您使用的 https 没有有效的 SSL 证书。你是怎么启用https的?你从哪里弄来的证书?这些都是你自己做的,还是云提供商为你设置的?如果是后者,我建议您联系他们的客户服务,因为他们能够为您提供最好的帮助。
  • 啊,我明白了,是的,这很可能是您的问题。为了使用 https,您需要一个有效的 SSL 证书。如果证书无效,浏览器将像它为您所做的那样阻止请求,因为它假定那里存在安全漏洞,导致人们即使不是安全站点也可以伪装成安全站点。
  • 这教会了我很多!安装 Nginx,使用 Certbot 的 SSL 对其进行配置,然后在 nginx 服务器中配置我的节点应用程序,现在一切运行顺利。非常感谢您指引我正确的方向。
猜你喜欢
  • 1970-01-01
  • 2016-09-22
  • 1970-01-01
  • 2017-02-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-18
  • 1970-01-01
相关资源
最近更新 更多