Node.js 无法使用节点js使用LetsEncrypt certbot生成SSL证书
我已经在firebase上部署了我的react应用程序,它附带了一个预配置的SSL证书,但因为我使用HTTP而不是HTTPS对node js服务器进行API调用。由于我从安全的站点浏览器中访问非安全的内容,因此阻止了我的所有API调用 最好且显而易见的选择是通过HTTPS加载所有资源以提高我的站点的安全性,这意味着为我的节点服务器生成一个由“证书颁发机构”签名的单独证书(在本例中为LetsEncrypt),但我在实现这一点上遇到了困难 复制步骤Node.js 无法使用节点js使用LetsEncrypt certbot生成SSL证书,node.js,firebase,ssl,lets-encrypt,Node.js,Firebase,Ssl,Lets Encrypt,我已经在firebase上部署了我的react应用程序,它附带了一个预配置的SSL证书,但因为我使用HTTP而不是HTTPS对node js服务器进行API调用。由于我从安全的站点浏览器中访问非安全的内容,因此阻止了我的所有API调用 最好且显而易见的选择是通过HTTPS加载所有资源以提高我的站点的安全性,这意味着为我的节点服务器生成一个由“证书颁发机构”签名的单独证书(在本例中为LetsEncrypt),但我在实现这一点上遇到了困难 复制步骤 已安装Certbot 使用命令$Certbot c
$Certbot certonly--manual
我也很高兴收到其他建议。感谢您的时间。首先,您必须了解您有一个指向您的Firebase托管React应用程序的域。该域已具有TLS(又名SSL)证书。现在,您正试图使用
cerbot
,用您已经安全的域来保护一个Node.JS
服务器,该服务器没有指向它的域
你现在应该明白了,为什么这不能像预期的那样起作用。您有一个指向React应用程序的域,但不是Node.JS
服务器,您正试图使用certbot
来保护该域(该域已被保护)certbot
将向您的React应用程序发出HTTP-01质询请求,但它将失败,因为质询不存在
你如何解决这个问题?给你的Node.JS
服务器一个域名,并将该域名与certbot
一起使用
现在,你不必只为你的
Node.JS
服务器购买另一个域名。您可以使用,然后使该子域指向您的节点.JS
服务器然后,您可以使用certbot
来保护您的Node.JS
应用程序。首先,您必须了解您有一个指向您的Firebase托管的React应用程序的域。该域已具有TLS(又名SSL)证书。现在,您正试图使用cerbot
,用您已经安全的域来保护一个Node.JS
服务器,该服务器没有指向它的域
你现在应该明白了,为什么这不能像预期的那样起作用。您有一个指向React应用程序的域,但不是Node.JS
服务器,您正试图使用certbot
来保护该域(该域已被保护)certbot
将向您的React应用程序发出HTTP-01质询请求,但它将失败,因为质询不存在
你如何解决这个问题?给你的Node.JS
服务器一个域名,并将该域名与certbot
一起使用
现在,你不必只为你的
Node.JS
服务器购买另一个域名。您可以使用,然后使该子域指向您的节点.JS
服务器然后,您可以使用certbot
来保护您的Node.JS
应用程序。您是否将Node.JS服务器托管在与Firebase react应用程序完全相同的域上?@占用一些字节我不确定是否理解您的问题,但是节点js服务器托管在Windows server上,而react应用程序托管在Firebase上。我正在使用IP将请求从我的站点发送到我的服务器。你是否将你的Node.JS服务器托管在与Firebase react应用程序完全相同的域上?@请输入一些字节我不确定是否理解你的问题,但Node JS服务器托管在Windows server上,而react应用程序托管在Firebase上。我正在使用IP将请求从我的站点发送到我的服务器。一切都很简单,但最令人困惑的是如何http:///.well-known/acme-challenge/ 可用或可访问?我从我的Web服务器端了解到我需要使用Certbot生成的令牌保存和提供静态文件,但我不知道如何或从何处调用/提供此文件。你是说你不知道如何提供文件?或者你不知道如何将它发布到网络上吗?首先,感谢你的帮助和关注,其次,这是我目前正在做的事情。创建一个指向我的节点Js服务器的子域,因为子域在创建24-48小时后就可以使用了,我想了解这个流是如何工作的。首先,启动certbot并进入域,然后在我的服务器根目录中创建.wellknown/acme challenge/authkey目录,然后在authkey文件中添加令牌,然后在质询请求到来时将文件发送到服务器…然后确保一切正常,打开我的浏览器并导航到:http://example.com/.well-known/acme-challenge/auth-key
待验证。这是一条可行的路径还是推荐的路径?对我来说,这似乎没什么问题,医生们说这是可行的。试试看,如果你需要进一步的帮助,请告诉我