对于Express,它更安全,建议使用req.secure
(如@Andy在下面建议)。尽管它使用类似的实现,但将来可以安全使用,并且还可以选择支持X-Forwarded- Proto
标头。
话虽如此,对于您的用例而言,使用Express的req.protocol
属性(http
或)会更快https
。但是请注意,对于传出链接,您只能参考//example.com/path
,浏览器将使用当前协议。
对于Request
不带Express的节点对象:
在
req.connection.secure
(布尔值)中。
对于 ,API已更改:
HTTPS连接具有req.connection.encrypted
(一个具有SSL连接信息的对象)。HTTP连接没有req.connection.encrypted
。
另外(来自docs):
有了HTTPS支持,请使用request.connection.verifyPeer()和request.connection.getPeerCertificate()来获取客户端的身份验证详细信息。