Hapijs usando Http e Https em uma conexão

NovoHapijs e tentando usá-lo para criar um aplicativo que use HTTPS para todas as solicitações e redirecionar HTTP para a conexão segura.O problema é que o aplicativo entra no modo HTTPS sem problemas, mas se eu alterar o URL para HTTP, o servidor não responderá e não ' Não sei o motivo.

Isto é o que eu vim até agora, funciona, mas não para HTTP

var connectionOptions = {
    port: 3000,
    tls: {
        key: fs.readFileSync(path.join(__dirname, 'key/key.pem'), 'utf8'),
        cert: fs.readFileSync(path.join(__dirname, 'key/cert.pem'), 'utf8')
    }
};

var server = new Hapi.Server();
server.connection(connectionOptions);

//This method not called when its HTTP
server.ext('onRequest', function (request, reply) {
     if (request.headers['x-forwarded-proto'] === 'http') {
            reply.redirect('https://' + request.headers.host +
                            request.url.path).code(301);
            return reply.continue();
      }
      reply.continue();       
});

var routes = require('./routes')(server);
server.route(routes);

if (!module.parent) {
    server.start(function () {
         console.log('Server running at:', server.info.uri);
    });
 }

Como forçar toda solicitação a ser HTTPS. Obrigado pela ajuda

questionAnswers(2)

yourAnswerToTheQuestion