Chỉnh sửa: Để thể hiện, an toàn hơn và được khuyến nghị sử dụng req.secure
(như @Andy đề xuất bên dưới). Trong khi nó sử dụng một triển khai tương tự, nó sẽ được an toàn để sử dụng trong tương lai và nó cũng tùy chọn hỗ trợ tiêu đề X-Forwarded-Proto
.
Điều đó đang được nói, đối với trường hợp sử dụng của bạn, bạn sẽ nhanh chóng sử dụng thuộc tính Express 'req.protocol
, là http
hoặc https
. Tuy nhiên, lưu ý rằng đối với các liên kết đi, bạn chỉ có thể tham khảo //example.com/path
và trình duyệt sẽ sử dụng giao thức hiện tại. (Xem thêm Can I change all my http:// links to just //?)
Đối với nút Request
đối tượng mà không cần Express:
Đó là trong req.connection.secure
(boolean).
Edit: API đã thay đổi, cho Node 0.6.15+:
Một kết nối HTTPS có req.connection.encrypted
(một đối tượng với thông tin về các kết nối SSL). Kết nối HTTP không có req.connection.encrypted
.
Ngoài (từ the docs):
Với sự hỗ trợ HTTPS, sử dụng request.connection.verifyPeer() và request.connection.getPeerCertificate() để có được thông tin chi tiết xác thực của khách hàng.
Nguồn
2012-04-27 15:15:20
Điều này vẫn có sẵn trong nút mới nhất 0.10 trở lên không? – CMCDragonkai
Hm, bạn có thể xác minh điều này cho các phiên bản nút sau này như 0.8 và lên, tôi không thể tìm thấy bất kỳ thứ gì trong loại tài liệu này. Nhưng có thể là tôi đang đọc sai chỗ. – Olga
Điều này vẫn tồn tại trong Node v5.x. – Ben