|
【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执着的同好参考,如有错误请不吝指出。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|