更改之前你需要知道有些应用是不支持https的.
1.安装依赖包
#软件名 luci-app-uhttpd luci-i18n-uhttpd-zh-cn luci-ssl-openssl
2.制作证书
ssh路由器,使用openssl制作证书
1.制作秘钥
openssl genrsa 2048 > server.key
2.根据私钥生成证书申请文件csr
openssl req -new -key server.key > server.csr
该步骤中需要回答很多问题, 可以随便输入,注意最后一步会让你设置证书密码,一定不要设置,直接回车!
3. 生成证书
openssl req -x509 -days 3650 -key server.key -in server.csr > server.crt
-days : 证书的有效期,单位(天)
最后把制作好的证书保存到本地(server.key,server.crt)
######################################################
不通过页面ui改证书可以直接修改/etc/config/uhttpd这个文件的
option cert '/etc/server.crt'#证书在软路由上的具体位置
option key '/etc/server.key'#秘钥在软路由上的具体位置
确认好这两个文件要有读的权限
3. uhttpd使用证书
装完luci-i18n-uhttpd-zh-cn后,刷新web界面服务下多出 uHtttpd选项
按照下图配置
4. 重启uhttpd服务
service uhttpd restart
然后刷新web界面, 你会发现现在已经是用的https了,(因为是我们自签的证书,所以浏览器是不信任的,具体如何让浏览器信任字签证书自行百度)
2020-11-14 补充:
页面打不开的解决办法:
我保证我写这篇文章的时候,按照我写的步骤正确配置是可以成功打开页面的,只是有些应用不支持https可能没办法正常使用.
1. 清空浏览器缓存再试试
2. 重启下uhttpd服务: /etc/init.d/uhttpd restart
3. 重启下软路由系统
页面打不开的还原办法:
页面可以打开的情况下取消https只需要点击上图删除证书和密钥的配置 然后 保存应用
vi /etc/config/uhttpd
把文件中 config uhttpd 'main' 下的option cert和option key 开头的这两行直接删掉
#这行千万不要删 config uhttpd 'main' option cert '/etc/uhttpd.crt'#删这行 option key '/etc/uhttpd.key'#删这行
然后重启下uhttpd服务
/etc/init.d/uhttpd restart
要是还打不开就重启下系统, 删除下浏览器的缓存在试试.
证书在哪里呢