节点13已弃用request.connection。
不再可能request.connection.encrypted ? 'https' : 'http'
如何检查请求是通过Node 13中的https还是http发出的?
答案 0 :(得分:0)
尝试一下
req.secure
是req.protocol === 'https'
的简写,应该是您想要的。
如果您在代理后面运行应用程序,请启用“信任代理”,以便req.protocol
反映用于客户端与代理之间通信的协议。
app.enable('trust proxy');
或者您可以使用
req.headers['x-forwarded-proto']
希望有帮助。
答案 1 :(得分:0)
以http s .createServer启动服务器时,request.socket.encrypted为true。
使用http.createServer启动服务器时,request.socket.encrypted是未定义的。