Tôi đã xóa bỏ stackoverflow và nhóm google express, nhưng tôi vẫn sắp tới.Tôi làm cách nào để định cấu hình expressj để xử lý cả http và https?
Từ những gì tôi thu thập, tôi có thể làm một trong hai điều:
1) tạo ra một thể hiện của một máy chủ http và một máy chủ https và đặt hai để nghe hai cổng khác nhau. Trong các tuyến đường, chuyển hướng yêu cầu http đến cổng https.
//app
var app = express.createServer();
var app_secure = express.createServer({key: key, cert: cert});
app.listen(8080);
app_secure.listen(8443);
//routes
app.get("unsecure/path", function(req, res) {
...
}
app.get("secure/path", function(req, res) {
res.redirect("https://domain" + req.path);
}
app_secure.get("secure/path", function(req, res) {
res.send("secure page");
}
2) làm những gì TJ Hollowaychuk nói: https://gist.github.com/1051583
var http = require("http");
var https = require("https");
var app = express.createServer({key: key, cert: cert});
http.createServer(app.handle.bind(app)).listen(8080);
https.createServer(app.handle.bind(app)).listen(8443);
Khi tôi làm 1, có nói chung là không có vấn đề. Tuy nhiên, nó cảm thấy clunky để quản lý hai máy chủ và tôi thực sự cảm thấy như có nên là một cách tốt hơn.
Khi tôi làm 2, tôi có được điều này:
(nút SSL) lỗi: 1408A0C1: thói quen SSL: SSL3_GET_CLIENT_HELLO: không chia sẻ mật mã
Tất nhiên, tôi chỉ có thể mặc định tùy chọn 1, nhưng tôi thực sự, thực sự muốn biết tại sao tôi nhận được rằng "không có lỗi mật mã được chia sẻ" khi tôi làm tùy chọn 2. Và tùy chọn 2 sẽ là tuyến đường ưa thích của tôi.
tôi đã kết thúc sử dụng Nginx để xử lý SSL. @Benjie Chứng chỉ là RSA. Tôi sẽ đưa ra đề nghị của bạn một thử trong tương lai gần. Cảm ơn. – ant
Bạn có thể chỉ cho bạn cách cấu hình nginx để xử lý ssl cho nút không? Cảm ơn – Mamsaac
Thing là bạn không làm những gì mà TJ đã nói - gần như, nhưng không chính xác. Các tùy chọn https cần phải đi đến máy chủ https, không phải đến máy chủ express.createServer. Sau đó, nó hoạt động. Tuy nhiên nhận được nó sau đó để làm việc với một máy chủ websocket là một vấn đề hoàn toàn :) – youurayy