2017-04-15 46 views
0

我試圖強制從HTTP重定向到HTTPS,並已幾乎成功。 下列其他SO帖子,我有這樣的代碼:節點Express重定向不重定向初始訪問,但重定向其他所有內容(F5,鏈接)

app.use(function(req, res, next) { 
    res.header("Access-Control-Allow-Origin", "*"); 
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); 
    next(); 
}); 
app.use(function (req, res, next) { 
    if (req.header('x-forwarded-proto') === 'http' && process.env.NODE_ENV === 'production') { 
     console.log("redirecting to https : " + req.url); 
     res.redirect(301, 'https://' + 'website.com' + req.url); 
     return 
    } 
    next(); 
}); 

一切變得正確重定向,除了原有的打擊,所以當在瀏覽器欄上的客戶端類型「website.com」,他是不是重定向到HTTPS。 我一直無法找到爲什麼發生。

+0

要調試,如果這是一個瀏覽器或服務器的問題,使用像'cURL'一個工具來查看服務器是否正常發出重定向。您需要確保在重定向到HTTPS的中間件之後聲明服務於主頁的路由。 – robertklep

+0

@robertklep使用curl,URL的所有4個版本都會返回200.這似乎是我的提供程序的URL重定向問題。 – Storm

+0

是的,這聽起來不對。 – robertklep

回答