【问题标题】:Cannot enable my own SSL certificate on heroku无法在 heroku 上启用我自己的 SSL 证书
【发布时间】:2014-10-25 11:08:27
【问题描述】:

我使用自己的域名使用 node.js 和 express 4.x 在 heroku 托管我的网站。 我已购买 SSL 证书,我想将其添加到我的网站。

我使用以下代码启用 HTTPS 支持:

var fs = require('fs');
var http = require('http');
var https = require('https');
var privateKey  = fs.readFileSync('sec/private_server.key', 'utf8');
var certificate = fs.readFileSync('sec/server.crt', 'utf8');

var credentials = { key: privateKey, cert: certificate };


// launch http server
var httpServer = http.createServer(app).listen( process.env.PORT, process.env.IP || "0.0.0.0", function() {
    console.log('Listening on port %d', process.env.PORT);
});


// launch https server
var httpsServer = https.createServer(credentials, app).listen( 8443, process.env.IP || "0.0.0.0", function() {
    console.log('Listening HTTPS on port 8433' );
});

启动服务器并通过https链接访问表明我这个网站仍然使用heroku证书。

我做错了什么?

【问题讨论】:

    标签: node.js heroku express https


    【解决方案1】:

    您需要使用 Heroku SSL 端点插件。

    https://devcenter.heroku.com/articles/ssl-endpoint

    【讨论】:

    • 所以如果不支付每月 20 美元,我就不能使用自己的证书? heroku 有没有解释他们为什么强迫我为我已经拥有的东西付钱?
    • @Quest 您当然可以随意使用您的证书,而无需向 Heroku 支付任何额外费用。 唯一的 限制是您将无法在 Heroku 托管的网站上使用它,而无需为该额外服务付费。如果您认为该功能不值 20 美元/月,那么我相信您可以在自定义域上不使用 SSL,或者找到免费提供该服务的竞争对手。
    • @idbehold,是的,已经找到了,digitalocean,便宜 4 倍。
    • 一些选项是通过 Cloudflare 或 Amazon Cloudfront 路由站点,两者都提供 SSL 端点和缓存的好处。
    • 当您添加 SSL:Endpoint Heroku 创建一个 Amazon ELB,您的证书也会附加。该 ELB 是灵活的,因为它会根据您的站点流量需求而增长。如果您托管的是一个低流量的网站,那么这笔费用有时会让人难以承受,但对于高流量的网站来说,它就非常小了。
    猜你喜欢
    • 1970-01-01
    • 2017-03-11
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-03
    • 2014-07-08
    • 1970-01-01
    相关资源
    最近更新 更多