Editar: Para Express, es más seguro y se recomienda utilizar req.secure
(como @Andy recomienda a continuación). Si bien utiliza una implementación similar, será seguro para uso futuro y también admite opcionalmente el encabezado X-Forwarded-Proto
.
Dicho esto, para su caso de uso sería más rápido utilizar la propiedad Express 'req.protocol
, que es http
o https
. Sin embargo, tenga en cuenta que para los enlaces salientes, puede consultar el //example.com/path
, y el navegador utilizará el protocolo actual. (Véase también Can I change all my http:// links to just //?)
Para el nodo Request
objeto sin expreso:
Está en req.connection.secure
(booleano).
Editar: El API ha cambiado, para Nodo 0.6.15+:
una conexión HTTPS tiene req.connection.encrypted
(un objeto con información sobre la conexión SSL). Una conexión HTTP no tiene req.connection.encrypted
.
también (de the docs):
Con soporte HTTPS, utilice request.connection.verifyPeer() y request.connection.getPeerCertificate() para obtener detalles de autenticación del cliente.
¿Aún está disponible en el último nodo 0.10 y posteriores? – CMCDragonkai
Hm, puede verificar esto para versiones de nodos posteriores como 0.8 y superior, no puedo encontrar nada del tipo en la documentación. Pero podría ser que estoy leyendo en el lugar equivocado. – Olga
Esto todavía existe en el nodo v5.x. – Ben