OpenWrt开启https访问(自签证书)


感谢https://www.gaoyaxuan.net/的教程,亲测可用
特此留档
1.安装依赖包

#软件名

luci-app-uhttpd
luci-i18n-uhttpd-zh-cn
luci-ssl-openssl
2.制作证书
ssh openwrt,使用openssl制作证书
制作密匙
openssl genrsa 2048 > server.key
3.根据私钥生成证书申请文件csr
openssl req -new -key server.key > server.csr

该步骤中需要回答很多问题, 可以随便输入,注意最后一步会让你设置证书密码,一定不要设置,直接回车!

  1. 生成证书
    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'#秘钥在软路由上的具体位置

确认好这两个文件要有读的权限

证书会保存在根目录,小白可以用Winscp连接目录找到

5.uhttpd使用证书
装完luci-i18n-uhttpd-zh-cn后,刷新web界面服务下多出 uHtttpd选项
按照下图配置
20200920140429.png

重启uhttpd服务

service uhttpd restart

然后刷新web界面, 你会发现现在已经是用的https了,(因为是我们自签的证书,所以浏览器是不信任的,具体如何让浏览器信任字签证书自行百度)

页面打不开的解决办法:

有些应用不支持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
要是还打不开就重启下系统, 删除下浏览器的缓存在试试.

声明:Leeの后花园|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - OpenWrt开启https访问(自签证书)


Carpe Diem and Do what I like