Otomatik düğüm ile bağlantısı/yeniden yönlendirme HTTPS.js/express
HTTPS üzerinde çalışıyorum node.js bir projeyi kurmak için uğraşıyorum. Aslında bu örneğin node.js documentation izledim:
// curl -k https://localhost:8000/
var https = require('https');
var fs = require('fs');
var options = {
key: fs.readFileSync('test/fixtures/keys/agent2-key.pem'),
cert: fs.readFileSync('test/fixtures/keys/agent2-cert.pem')
};
https.createServer(options, function (req, res) {
res.writeHead(200);
res.end("hello world\n");
}).listen(8000);
Ben ne zaman şimdi
curl -k https://localhost:8000/
Anladım
hello world
beklendiği gibi. Ama eğer yaparsam
curl -k http://localhost:8000/
Anladım
curl: (52) Empty reply from server
Geriye dönüp bakıldığında bu şekilde çalışmaya devam eder bu çok açık görünüyor, ama aynı zamanda sonunda projemi ziyaret eden insan türü için gidiş değildirhttps://yadayada ve tüm Trafik düştükleri andan itibaren https olmak istiyorum.
Nasıl düğüm (ve bunu kullanıyorum çerçeve olarak İfade) https gelen tüm Trafik başkasına devretmek veya belirtilen olup olmadığı alabilir miyim? Bu ele aldığını herhangi bir belge bulmak mümkün olmamıştır. Yoksa sadece bir üretim ortamında, düğüm yönlendirme bu tür işler karşısında (örneğin nginx) oturur bir şeyler olduğu kabul edilir?
Bu web geliştirme içine benim ilk baskını, lütfen eğer bu kadar bariz bir şey ise cahilliğimi mazur görün.
CEVAP
Ryan, doğru yönde beni işaret için teşekkürler. Biraz kod ve biraz çalışır cevap (2. paragraf) ben ete kemiğe bürünmüş. Bu senaryoda bu kod parçacıkları ifade uygulamamı koymak
// set up plain http server
var http = express.createServer();
// set up a route to redirect http to https
http.get('*',function(req,res){
res.redirect('https://mydomain.com' req.url)
})
// have it listen on 8080
http.listen(8080);
Https express server 3000 faks dinler. Bu düğümü kök olarak çalıştırmak zorunda değil bu yüzden bu kural kuralları ben belirlerim:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 3000
Hep birlikte, bu tam olarak istediğim gibi çalışıyor.
Otomatik olarak sonsuza dek (düğüm) si...
Https için http yeniden yönlendirme kö...
Heroku NodeJS https ssl zorla için htt...
`Düğüm-sass` da 0,12 düğüm üzerinde ye...
Sen'yeniden kullanmadan HTTPS $_S...