我正在使用IBM Bluemix生成Node-RED流。 Node-RED代码充当服务器,客户端通过API调用Node-RED。
客户端可以通过HTTP和HTTPS方法调用Bluemix Node-RED服务器API。我需要禁用in-comming HTTP调用。
是否可以使用通过bluemix.setting等禁用in-comming HTTP调用的任何方法。
我在HTTP IN节点之后使用了函数节点。检查标头以识别请求是HTTP或HTTPS。如果是HTTP,则设置响应头,如下所示。
msg.res.sendStatus(403).send('HTTP disabled')
msg.res.sendStatus(403)
msg.res.status(403)
在我得到的所有时间
Deprecated call to msg.res.sendStatus
Deprecated call to msg.res.status
我想如何解决这个问题?
答案 0 :(得分:1)
要禁用admin api,您应将httpAdminRoot
设置为false
。或者,您可以使用adminAuth
启用对admin api的访问控制 - http://nodered.org/docs/security
为了响应HTTP In
节点收到的HTTP请求,您必须设置消息的相应属性并将其传递给HTTP Response
节点。您不能直接调用msg.res
的函数 - 根据您获得的日志消息而弃用。 HTTP Response
节点的信息选项卡描述了您可以设置的属性,包括:
payload
作为回复正文statusCode
,如果设置,则用作响应状态代码(默认值:200)例如,您的Function
节点会执行:
msg.statusCode = 403;
msg.payload = "HTTP disabled";
return msg;
然后将Function
节点连接到HTTP Response
节点。