【发布时间】:2020-10-10 22:24:00
【问题描述】:
我对如何在运行 Heroku 并运行 Node.js 的 Namecheap 域上获取 SSL 感到非常困惑。我从 Namecheap.com 购买了一个域名,同时购买了
positivessl
Comodo SSL Certificate for www.xxx.com
为了完成整个过程,我使用了他们门户网站的一部分来生成 CSR 代码。生成此 CSR 代码的小程序还生成了 .key 和 .cert 文件的内容,因此我将它们保存在某个地方[我认为这些是自签名的,我不需要需要它们]。几分钟后,Sectigo 证书颁发机构给我发了一个包裹
website.ca-bundle
website.crt
Namecheap 提供的链接也包含这些文件以及
website.p7b
Soo.. 现在我总共有 6 个文件..!
website.cert <- generated from CSR generator
website.csr <- generated from CSR generator
website.key <- generated from CSR generator
website.crt <- generated from Sectigo Certification Authority
website.ca-bundle <- generated from Sectigo Certification Authority
website.p7b <- generated from Namecheap (??)
现在在 Node.js 中进行本地测试,我可以进行以下配置
使用 CSR 生成器小程序中的证书/密钥进行配置一。
let options = {
key: "website.key",
cert: "website.cert"
};
let server = Https.createServer(options, listener);
当我运行这个时,我必须去https://localhost:80 并且我得到整个“不安全”的业务,我接受警告并且网站加载。当我检查证书时,它显示“无效”并且它是由 wwww.xxx.com 颁发的。
使用 Sectigo/Namecheap 发送给我的文件进行配置二。
let options = {
key: "website.key",
cert: "website.crt",
ca: "website.ca-bundle "
};
let server = Https.createServer(options, listener);
和上面一样,但是当我检查证书时,它说它是由 Sectigo 颁发的。另外我假设浏览器说它“无效:因为我没有通过我的域访问证书。很公平。
所以。现在我不确定如何让它与 Heroku 一起工作。他们有令人讨厌的语言,即 SSL 对于“付费”测功机(...)是“免费的”,但您可以使用 CLI 使用“手动”选项。我在这个地区呆了几个小时,我不知道该怎么办。目前,通过我的域访问我的 heroku 应用程序只是“此站点无法提供安全连接”。虽然我认为我的 Node 设置是正确的,但我认为我现在不知道如何处理 Heroku。我是否需要以某种方式将这些证书放入 Heroku?
我一直在 Heroku 级别戳的东西是
heroku cert 命令,我还在他们的指南中看到了有关 DNS 设置的示例
CNAME examplesecure example-12345.ssl.herokudns.com.
但我不知道从哪里获得该 ssl dns 域..
【问题讨论】:
标签: node.js ssl heroku namecheap