『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 12709|回复: 10

[流程系列] Node-RED中tcp in节点如何配置ssl?

[复制链接]

7

主题

56

帖子

296

积分

中级会员

Rank: 3Rank: 3

积分
296
金钱
240
HASS币
0
发表于 2021-1-10 22:42:21 | 显示全部楼层 |阅读模式
首先,如果要自己写解析密文的话,工作量有点大.

我想用tcp in节点做个服务,监听某个端口发送来的数据,如果此数据是加密的,这里tcp in节点想要配置ssl证书,发现没有给接口,然后查找一堆节点,找不到可以在后面配置ssl解析的节点。有大佬用过的话请告知下,
或者,如果此路不通,还有没有在Node-RED中其他实现的方法?
谢谢!
回复

使用道具 举报

40

主题

3056

帖子

1万

积分

超级版主

Nero

Rank: 8Rank: 8

积分
11149
金钱
8042
HASS币
182
发表于 2021-1-11 17:52:00 | 显示全部楼层
所以你首先要搞清楚你接入的设备到底跑的什么协议,私有的TCP 数据,还是 HTTPS 还是MQTT+ssl
Nero
回复

使用道具 举报

7

主题

56

帖子

296

积分

中级会员

Rank: 3Rank: 3

积分
296
金钱
240
HASS币
0
 楼主| 发表于 2021-1-11 21:47:40 | 显示全部楼层
neroxps 发表于 2021-1-11 17:52
所以你首先要搞清楚你接入的设备到底跑的什么协议,私有的TCP 数据,还是 HTTPS 还是MQTT+ssl ...

我这个服务要映射到外网访问。是基于TCP协议的HTTPS协议的数据。

当然,可以有其他很多种方法。比如装Python、java、php的框架,但这些比较大型的框架占用资源太多,而且速度也不快。
我在电脑上编译了一个轻量级的响应服务,速度倒是快,但一直开着电脑也不行,移植到树莓派上还要装编译环境,我终究是不想在树莓派上安装太多的额外东西,本着在已有的基础上能用则用的原则考虑。

NR有http节点,但是NR这个http节点做服务,访问时需要输入NR的用户名和密码,这个访问是从外部(别人的服务器)推送来的数据,所以我也不能把用户名和密码给到对方,如果不设置密码,则整个NR完全暴露了。然后找了下,只找到TCP in节点,如果有其他节点可用,请大神提示下。至于http协议,比较简单,可以自己解析后回复。现在要处理https,需要将加密的数据解密,并将回复的数据传回之前再加密。现在需要这两点功能。
回复

使用道具 举报

40

主题

3056

帖子

1万

积分

超级版主

Nero

Rank: 8Rank: 8

积分
11149
金钱
8042
HASS币
182
发表于 2021-1-11 22:07:27 | 显示全部楼层
discuz 发表于 2021-1-11 21:47
我这个服务要映射到外网访问。是基于TCP协议的HTTPS协议的数据。

当然,可以有其他很多种方法。比如装Py ...

nodered 本质上就是 nodejs。auth不是很难吧套个 nginx proxy 加上认证套 ssl就是了,限制下 url。不是什么难事。
Nero
回复

使用道具 举报

0

主题

66

帖子

549

积分

高级会员

Rank: 4

积分
549
金钱
483
HASS币
0
发表于 2021-1-15 14:40:14 来自手机 | 显示全部楼层
就用http in 就可以了呀,做个认证子流,通过token认证。
回复

使用道具 举报

0

主题

66

帖子

549

积分

高级会员

Rank: 4

积分
549
金钱
483
HASS币
0
发表于 2021-1-15 14:41:29 来自手机 | 显示全部楼层
http in 请求是不需密码的,认证用jwt节点做token认证
回复

使用道具 举报

7

主题

56

帖子

296

积分

中级会员

Rank: 3Rank: 3

积分
296
金钱
240
HASS币
0
 楼主| 发表于 2021-1-26 08:55:42 | 显示全部楼层
neroxps 发表于 2021-1-11 22:07
nodered 本质上就是 nodejs。auth不是很难吧套个 nginx proxy 加上认证套 ssl就是了,限制下 url。不是什 ...

谢谢!以前没怎么研究过nginx,发现这个很简单,配置下location就实现了想要的结果。其他路径要密码,配置的路径直接访问。
回复

使用道具 举报

7

主题

56

帖子

296

积分

中级会员

Rank: 3Rank: 3

积分
296
金钱
240
HASS币
0
 楼主| 发表于 2021-1-26 09:00:08 | 显示全部楼层
yyddyym 发表于 2021-1-15 14:41
http in 请求是不需密码的,认证用jwt节点做token认证

谢谢回复!

Node-RED如果设置了密码,http in请求也是需要密码的。

你这个方法没试过,看了下要装些东西,我就从已经安装了的nginx配置文件入手了
回复

使用道具 举报

0

主题

66

帖子

549

积分

高级会员

Rank: 4

积分
549
金钱
483
HASS币
0
发表于 2021-2-1 14:46:19 来自手机 | 显示全部楼层
nr设置的密码好像只在nr的编辑页登录时要认证吧,http in 是没认证的,我现在在运行的服务都是用token 认证
回复

使用道具 举报

2

主题

61

帖子

430

积分

中级会员

Rank: 3Rank: 3

积分
430
金钱
369
HASS币
0
发表于 2021-3-10 17:53:40 | 显示全部楼层
楼主解决了吗。 我想发送数据给NR http in 也是提示要输入用户名密码,输入了也不能访问。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-22 06:48 , Processed in 1.107272 second(s), 31 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表