5
A
回答
9
我也部署在Heroku上。當他們使用nginx來反向代理時,他們添加了一堆他們的頭文件。這種情況下的興趣之一是x前轉原型。
這是我做過什麼:
app.get(/\/register$/, function(req, res){
console.log(JSON.stringify(req.headers)); //to see all headers that heroku adds
if(req.headers['x-forwarded-proto'] && req.headers['x-forwarded-proto'] === "http") {
res.redirect("https://" + req.headers.host + req.url);
}
else {
//the rest of your logic to handle this route
}
});
0
爲了運行安全服務器(https),它必須獨立於非安全服務器(http)創建。他們也會聽取不同的端口。嘗試是這樣的:
var express = require('express)
, app_insecure = express.createServer()
, app_secure = express.createServer({ key: 'mysecurekey' })
app_insecure.get('/secure-page',function(req, res){
// This is an insecure page, redirect to secure
res.redirect('https://www.mysecuresite.com/secure-page')
})
app_secure.get('/secure-page', function(req,res){
// Now we're on a secure page
})
app_insecure.listen(80)
app_secure.listen(443)
否則,可能被實現爲路線中間件
var redirect_secure = function(req, res, next){
res.redirect('https://mysite.com' + req.url)
}
app_insecure.get('/secure-page',redirect_secure,function(req, res){})
現在,你只需要包含函數參考:redirect_secure()上,你想重定向到的路徑一個安全的位置。
+0
在Heroku上的搭載SSL將意味着我快,可以採取兩種安全的不安全的連接,可能是安裝在負載均衡器安全證書一臺服務器,我會以某種方式檢查是否我正在接收安全流量。這意味着我的不安全的服務器仍然可以通過https SSL運行,而無需我明確地創建一個安全的服務器。 – MonkeyBonkey
1
app.enable( '信任代理');
「在反向代理(如Varnish或Nginx)後面使用Express很簡單,但它需要配置。通過通過app.enable('trust proxy')啓用」trust proxy「設置,Express將知道它是坐在代理後面,並且X-Forwarded- *標頭字段可能是可信的,否則可能很容易被欺騙。「
相關問題
- 1. 通過https代理髮送curl請求
- 2. 如何通過HTTPS將AJAX請求發送到node.js服務器?
- 3. 如何通過套接字發送HTTPS請求?
- 4. 如何通過Django發送GET請求
- 5. 如何通過TCPSocket發送HTTP請求?
- 6. 如何通過telnet發送POST請求
- 7. 如何通過POSTMAN發送SOAP請求
- 8. 如何從GAE servlet發送HTTPS請求?
- 9. 如何發送請求到http ...到https?
- 10. 如何發送https GET請求與oauth
- 11. 發送HTTPS請求並查看響應
- 12. python請求無法發送https請求
- 13. 如何發送通過URL連續請求:Python的請求
- 14. Xcode發送HTTPS Soap請求
- 15. C++ LibCurl發送HTTPS請求
- 16. 如何測試以查看我是否通過Javascript正確發送POST請求?
- 17. 我如何加快速度? (urllib2,請求)
- 18. ColdFusion - 通過端口80發送請求的CFHTTP(https)
- 19. 來自Https的Facebook請求通過cUrl發送給Http
- 20. 如何通過POST請求向網站發送請求?
- 21. 通過HTTP範圍請求快速檢測GIF尺寸
- 22. SOAP請求是如何通過HTTP發送的詳細信息
- 23. 通過請求頭髮送數據與通過請求主體發送數據
- 24. 如何發送POST請求而不發送快速自動遞增主鍵
- 25. 通過https連接發送http請求ASP IIS
- 26. AsyncHttpClient - 通過HTTPS POST請求
- 27. 如何通過SslStream和TcpClient向Web服務發送有效的HTTPS請求
- 28. 如何通過PHP中的HTTPS發出POST請求?
- 29. 如何通過Windows Phone 8中的HTTPS發佈請求登錄?
- 30. 通過ASP.net發送HTTP發佈請求
太棒了!這幫了很多。 +1 :) –