2014-12-12 1 views
0

약간 배경이 먼저 있습니다. Azure 웹 사이트에서 실행되는 NodeJS 서버는 자동으로 모든 HTTPS 요청 directed to the http endpoint을 갖습니다. 이것은 다음과 같은 코드가 나는 배경이 놀이로 오는 곳Azure 웹 사이트의 NodeJS에서 RequireSSL을 어떻게 구합니까?

/* snip */ 
if (req.protocol === 'http') { 
    var origFullUrl: string = 'http://' + req.get('host') + req.originalUrl; 
    var u: url.Url = url.parse(origFullUrl, true); 
    u.host = null; // nead to clear so 'port' is used 
    u.protocol = 'https'; 
    u.port = '443'; 

    res.redirect(url.format(u)); 
} 
/* snip */ 

는 여기에 "가 requireSSL"미들웨어를 만들기로 결정 여기에서

var http = require('http'); 
var express = require('express'); 

var app = express(); 
// *snip* 
http.createServer(app).listen(process.env.PORT); 
// can go to http://*.azurewebsites.net or https://*.azurewebsites.net without issue 

모두 HTTP 작동 및 HTTPS 할 수 있습니다. Azure는 모든 HTTPS를 HTTP 프로토콜로 리디렉션하기 때문에 req.protocol 은 항상과 같으며 'http'는 리디렉션 루프를 만듭니다.

누구나 Azure 웹 사이트에서이 기능을 사용할 수있는 방법을 알고 있습니까?

답변