Etkinleştirme express.js üzerinde HTTPS
HTTPS düğüm için express.js üzerinde çalışan almak için çalışıyorum, ve bunu çözemiyorum.
Bu app.js
benim kodudur.
var express = require('express');
var fs = require('fs');
var privateKey = fs.readFileSync('sslcert/server.key');
var certificate = fs.readFileSync('sslcert/server.crt');
var credentials = {key: privateKey, cert: certificate};
var app = express.createServer(credentials);
app.get('/', function(req,res) {
res.send('hello');
});
app.listen(8000);
Ben çalıştırdığınızda, yalnızca HTTP istekleri için cevap gibi görünüyor.
node.js
temel basit vanilya HTTPS uygulaması yazdı:
var fs = require("fs"),
http = require("https");
var privateKey = fs.readFileSync('sslcert/server.key').toString();
var certificate = fs.readFileSync('sslcert/server.crt').toString();
var credentials = {key: privateKey, cert: certificate};
var server = http.createServer(credentials,function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
});
server.listen(8000);
Ve bu uygulamayı çalıştırmak zaman, buyokHTTPS istekleri yanıt. Bu olabilirdi sanmıyorum not() fs sonucu her ikisinin kombinasyonu ve no es bueno hala kullanmadım gibi konularda.
DÜZENLEMEK İÇİN:
Üretim sistemlerinde, muhtemelen Nginx kullanarak veya nodejs uygulaması proxy istekleri için daha iyi HAProxy. Kurulum ssl istekleri ve sadece düğüm senin app.js http konuşmak nginx.
EKLEMEK İÇİN (4/6/2015) DÜZENLEYİN
BÖLÜM kullanarak sistemler için SSL Sonlandırma kolu ve EC2 web sunucuları için normal HTTP trafiğine izin vermek için EC2 Elastik Yük Dengeleyici kullanarak daha iyi. Daha fazla güvenlik kurulumu için tek ELB gibi güvenlik grubu makineleri isabet harici şifrelenmemiş HTTP trafiği engelleyecek olan EC2 örnekleri, HTTP trafik göndermek için izin verilir.
CEVAP
Eğer yeni sürüm açık varsa (3.x) sözdizimi kullanmanız gerekir:
var fs = require('fs');
var http = require('http');
var https = require('https');
var privateKey = fs.readFileSync('sslcert/server.key', 'utf8');
var certificate = fs.readFileSync('sslcert/server.crt', 'utf8');
var credentials = {key: privateKey, cert: certificate};
var express = require('express');
var app = express();
// your express configuration here
var httpServer = http.createServer(app);
var httpsServer = https.createServer(credentials, app);
httpServer.listen(80);
httpsServer.listen(443);
Bu şekilde sunucu/https yerel http express katman sağlar.
Nasıl SQL Server aynı sunucu üzerinde ...
SQL Server üzerinde TÜM Sorgular günlü...
Otomatik düğüm ile bağlantısı/yeniden ...
Nasıl (sorgu dizesi) Node.js üzerinde ...
Facebook JavaScript HTTPS güvenli olma...