2013-08-19 2 views
0

Heroku 호스트 된 응용 프로그램에서 Node/Express 사용. http : // https 포워딩 기능이 있지만 더 이상 작동하지 않습니다.Heroku http to https 전달 문제

나는 내 app.configure('production'에서 다음과 같은 작업을 전달했다

... : 그것은, 내가 만족과 레디 스 - 투 - 이동 대신 MemoryStorage의를 구현하기에 이동 한 후 CSRF 미들웨어를 구현하기 위해 노력

app.configure('production', function() { 
return app.use(function(req, res, next) { 
    if (req.header('x-forwarded-proto') !== 'https') { 
     return res.redirect("https://" + (req.header('host')) + req.url); 
    } else { 
     return next(); 
    } 
}); 

. 그 두 가지 기능은 작동하지만 이제는 http://...을 통해 내 앱에 액세스 할 수 있다는 것을 알게되었습니다. 그 전에는 https://... 및 친환경 녹색 자물쇠로 캐치되어 자동 전달되었습니다.

중간에 신 갈 수 어떤 생각?

답변

0

자기 답변 : CSRF 구현 과정에서

어딘가에, 내 app.configure 섹션에 다음과 같이 변경했다 :

app.use(app.router); 

나는 CSRF 시위에서이 사용을 읽을 것입니다. 그러나 그것이 필요한지 나는 모른다. Csrf 미들웨어 기능은 내가 그 라인을 주석 처리했을 때 영향을받지 않는 것처럼 보였고 Heroku 리디렉션은 이전과 같이 작동합니다.

+0

는별로 확인하는 방법 app.router express.req을 방해하지만 무슨 일이 있었는지에 대한 나의 추측이다. –

+0

http://stackoverflow.com/questions/12695591/node-js-express-js-how-does-app-router-work –