ここで説明されているように、単純な HTTP->HTTPS 転送サーバーを作成しています: Heroku HTTPS リダイレクト
単純なことを見落としているに違いないと確信していますが、ログに DEVMODE が false として出力されていても、 * ルート ハンドラーでそれをキャッチしていません。一線を越えていきます。
var port = process.env.PORT || 1337;
var express = require('express');
var app = express();
var path = require('path');
var fs = require('fs');
console.log("DEVMODE= " + process.env.DEVMODE); //outputs DEVMODE=false
app.get('*',function(req,res,next){
if (process.env.DEVMODE == false){
//-----NOTHING REACHES THIS POINT though it just said process.env.DEVMODE = false
if( req.headers['x-forwarded-proto'] != 'https' )
res.redirect('https://mydomain.com'+req.url)
else
next() /* Continue to other routes if we're not redirecting */
} else {
//-----Goes straight to here.
next();
}
})
app.use(express.static(__dirname));
app.listen(port);
私は非常に単純なものを見落としているに違いないと確信しています。process.env.DEVMODE if ステートメント内のコードが呼び出されない理由は何ですか?
どうもありがとう!