【发布时间】:2020-12-16 12:37:16
【问题描述】:
我已经在带有预配置 SSL 证书的 firebase 上部署了我的 react 应用程序,但是因为我使用 HTTP 而不是 HTTPS 对节点 js 服务器进行 API 调用。由于我正在从安全站点浏览器中访问非安全内容,因此阻止了我的所有 API 调用。
最好和显而易见的选择是通过 HTTPS 加载所有资源以提高我网站的安全性,这意味着在这种情况下为我的节点服务器生成一个由“证书颁发机构”签名的单独证书,但我无法实现这一点.
复制步骤
- 已安装 Certbot
- 使用命令
$ certbot certonly --manual使用 Certbot 生成 SSL 证书 - 输入您的域名
- 完成 HTTP-01 质询流程
问题
-
如果我的域已经使用 SSL 证书进行保护,为什么我需要在第 3 步中提供我的域?我的意思是这是一个 Web 服务器,会通过公共 IP 接收 API 请求,为什么需要域?
-
对于 HTTP-01 质询过程,Certbot 将要求您在 Web 服务器文档根目录中的 .well-known/acme-challenge/ 目录中创建一个具有自动生成密钥的文件,该文件必须包含身份验证关键,当我这样做时,我得到以下错误:
一些挑战失败了。要修复这些错误,请确保您的域名输入正确,并且该域的 DNS A/AAAA 记录包含正确的 IP 地址。
我也很乐意收到其他建议。感谢您的宝贵时间。
【问题讨论】:
-
您是否将 Node.JS 服务器托管在与您的 Firebase React 应用程序完全相同 域上?
-
@Take-Some-Bytes 我不确定我是否理解您的问题,但节点 js 服务器本地托管在窗口服务器上,而反应应用程序托管在 Firebase 上。我正在使用 IP 将请求从我的站点发送到我的服务器。
标签: node.js firebase ssl lets-encrypt