恩山无线论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 272|回复: 1

【2020-07-31】OPENWRT下编译支持SSL的netdata

[复制链接]
发表于 2020-7-31 13:10 | 显示全部楼层 |阅读模式
【2020-07-31】OPENWRT下编译支持SSL的netdata

据说,netdata从v1.16.0版开始就支持SSL了。目前OPENWRT下发布的netdata包版本虽然很高,但不支持SSL,可通过加入依赖库及修改相关文件实现SSL支持。

先看效果

内网访问

内网访问

内网访问


外网访问

外网访问

外网访问


以上网页中的网址已做过处理,并非实际网址,仅用作示意。

完整的netdata包由两个目录组成,分别为luci-app-netdata和netdata,可在git clone下载安装的OPENWRT主目录下的package(或feeds)目录中找到这两个目录。

假设找到的两个目录分别为feeds/packages/abc/netdata和package/def/luci-app-netdata具体修改如下:

1、添加依赖库
先进入安装主目录,再进入netdata目录
cd feeds/packages/abc/netdata
vi Makefile

找到define Package/netdata段中DEPENDS开头的行添加依赖库,以确保libcrypto.so和libSSL.so库能找到。
修改前:DEPENDS:=+zlib ... +libjson-c
修改后:DEPENDS:=+zlib ... +libjson-c +libopenssl

找到disable-https改为enable-https,删除也可,默认开启。

2、修改配置文件
先进入安装主目录,再进入netdata目录的相关子目录
cd feeds/packages/abc/netdata/files
vi netdata.conf

在web段加入两行,开启SSL支持
[web]
        ...
        SSL certificate = /etc/netdata/ssl/cert.pem
        SSL key = /etc/netdata/ssl/key.pem

这两行分别对应你申请的SSL的公钥和私钥,届时,OPENWRT编译完成后,把证书文件名分别改为cert.pem和key.pem拷贝入/etc/netdata/SSL目录即可。

证书文件不是pem格式的要先转换为pem格式,如果是以下的格式就没问题。

私钥格式
-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----

公钥格式
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE----

3、修改入口
先进入安装主目录,再进入luci-app-netdata目录的相关子目录
cd package/def/luci-app-netdata/luasrc/view
vi netdata.htm

找到http修改为https

4、验证
在整体编译前,可单独编译一下看修改是否正确。

make package/def/luci-app-netdata/compile V=99

如果不报错,并正确生成安装包,则可进行整体编译。如果报错,对照上文一步一步检查下。

外网访问时,要预先在相关路由器中把端口映射设置好。

以上内容供对SSL执着的同好参考,如有错误请不吝指出。

我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-7-31 15:13 | 显示全部楼层
楼主能不能分享下这2个ipk包  谢谢!
我的恩山、我的无线 The best wifi forum is right here.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )|网站地图

GMT+8, 2020-8-12 11:11

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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