【问题标题】:How can I setup a https certificate for my node app?如何为我的节点应用程序设置 https 证书?
【发布时间】:2021-03-12 19:48:27
【问题描述】:

我正在尝试在 AWS Ubuntu 上运行此演示,以检查 firefox 中的 the bug I reported 是否是由在 HTTP 下本地运行引起的;一切都在 Chrome 上工作,所以它可能不是。可能。

我在 AWS Ubuntu 上设置了演示,并使用以下方法生成了一个自签名证书:

openssl genrsa 2048 > host.key
chmod 400 host.key
openssl req -new -x509 -nodes -sha256 -days 365 -key host.key -out host.cert

然而,Firefox 报告 Navigator.mediaDevices 未定义,而 Chrome 报告它Cannot read property 'getUserMedia' of undefined

我认为这意味着我需要一个真正受信任的“local.crt”和“local.key”文件,而不是自签名?没想到这么严格。

谁能指导我如何在不购买的情况下做到这一点,因为我只想测试?

谢谢:)

【问题讨论】:

  • 谷歌搜索也把我带到了那里。 this 会提供“local.crt”和“local.key”文件吗?不清楚。
  • 是的,这就是我使用的。虽然我在 docker 容器中使用letsencrypt 和certbot。不过没必要。

标签: javascript node.js https getusermedia


【解决方案1】:

您说得对,在进行随意的演示和错误复制时,这是 xxx 脖子上的痛。

当我需要这样做时,我会做两件事中的一件。

  1. 将应用程序放在 https://glitch.com 上。它们为您提供了一个持久的https://yourprojectname.glitch.me URL 供您使用。适合一次性使用。 glitch.com 示例接受了针对 Chromium 和 Firefox 的错误报告。

  2. 将应用程序部署到 Heroku。它们为您提供了一个持久的https://example-whatever-12345.herokuapp.com URL 供您使用。适合更大的东西。

其他人将https://netlify.com 用于纯静态的东西。我自己没用过。

如果您有自己的域和服务器,您也可以使用https://letsencrypt.org/ 来获取证书。但它需要大量的服务器装配,并且可能不是最适合休闲的东西。

【讨论】:

  • 我太累了。我犯了一个错误......愚蠢地我在我的本地机器上为代码库生成了一个 SSL 证书,认为它是 AWS 上的副本......所以它实际上似乎确实适用于自签名证书!对不起!谢谢你的帮助。现在我有this issue
  • 不。很确定我第一次是正确的 - Navigator.mediaDevices 是未定义的,即使有自签名证书。令人沮丧。故障存储限制太小,所以我尝试了 Heroku 和 had this error,所以我回到我的 AWS 实例并得出结论,这是我在撰写这篇文章时怀疑的导致问题的证书!所以我尝试了 certbot - 它需要一个域,而不是一个 IP。太好了,我又在尝试 Heroku。
猜你喜欢
  • 1970-01-01
  • 2014-09-27
  • 1970-01-01
  • 1970-01-01
  • 2017-08-13
  • 1970-01-01
  • 2016-05-01
  • 1970-01-01
  • 2021-11-20
相关资源
最近更新 更多