相关疑难解决方法(0)

Heroku NodeJS http到https ssl强制重定向

我有一个应用程序启动并运行在heroku上使用https表达节点.如何识别强制重定向到heroku上的nodejs的协议?

我的应用程序只是一个简单的http服务器,它(尚未)实现heroku发送它的https请求:

/* Heroku provides the port they want you on in this environment variable (hint: it's not 80) */
app.listen(process.env.PORT || 3000);
Run Code Online (Sandbox Code Playgroud)

ssl https redirect heroku node.js

100
推荐指数
6
解决办法
4万
查看次数

Heroku上的HTTPS + SSL - Node + Express

我已经创建了一个自签名证书,将其添加到Heroku,并在Heroku上配置了一个SSL端点,我记录heroku certs:info它似乎就在那里.

我正在Express上创建我的服务器,如下所示:

var server = require('http').createServer(app);
Run Code Online (Sandbox Code Playgroud)

然后重定向到https这样:

app.use(function(req, res, next) {
    var reqType = req.headers["x-forwarded-proto"];
    reqType == 'https' ? next() : res.redirect("https://" + req.headers.host + req.url);
});
Run Code Online (Sandbox Code Playgroud)

服务器运行正常,但我在SO上遇到了这个代码片段来创建一个https服务器:

var keys_dir = './sslcert/';
var server_options = { 
  key  : fs.readFileSync(keys_dir + 'server.key'),
  ca   : fs.readFileSync(keys_dir + 'server.csr'), 
  cert : fs.readFileSync(keys_dir + 'server.crt') 
}

var server = require('https').createServer(server_options,app);
Run Code Online (Sandbox Code Playgroud)

我没有像这个例子那样指向certs/keys,我的网站在https上运行(尽管锁是红色的,因为它是自签名的).

  • 所以我的问题是,我的服务器如何知道我的密钥/证书,而没有我像代码片段那样明确地指向他们server_options?这是Heroku在幕后照顾的吗?

  • 我在Heroku上设置的SSL端点如何与http我创建的服务器交互var server = require('http').createServer(app);


编辑 …

ssl https heroku node.js

16
推荐指数
1
解决办法
1万
查看次数

Heroku上的HTTPS Node.js应用程序

我已经配置了我的SSL enpoint,我可以确认这是有效的.当我进入我的日志时,我看到以下内容:

Jul 13 08:14:10 support-dash app/web.1:  Express server listening on port 17621 
Jul 13 08:14:10 support-dash heroku/web.1:  Stopping all processes with SIGTERM 
Jul 13 08:14:11 support-dash heroku/web.1:  State changed from starting to up 
Jul 13 08:14:13 support-dash heroku/web.1:  Process exited with status 143 
Jul 13 08:15:48 support-dash heroku/router:  at=error code=H12 desc="Request timeout" method=GET path=/ host=app.supportdash.com fwd="68.63.87.85" dyno=web.1 connect=2ms service=30000ms status=503 bytes=0 
Jul 13 08:16:18 support-dash heroku/router:  at=error code=H12 desc="Request timeout" method=GET path=/favicon.ico host=app.supportdash.com fwd="68.63.87.85" dyno=web.1 connect=2ms service=30007ms status=503 bytes=0 …
Run Code Online (Sandbox Code Playgroud)

heroku node.js

10
推荐指数
1
解决办法
7564
查看次数

标签 统计

heroku ×3

node.js ×3

https ×2

ssl ×2

redirect ×1