安装SSL支持组件

SSL的支持组件有luci-ssl 和luci-ssl-openssl,区别是luci-ssl的默认SSL库是mbedtls,mbedtls是个为嵌入式设备设计的轻量级可配置库,但是不带ARMv8加密扩展,该功能还没有正式发布https://github.com/ARMmbed/mbedtls/pull/1424
而OpenSSL集成了ARMv8加密扩展,在ARM64上的速度提升4到5倍,我这里安装luci-ssl-openssl

  1. #注意后面参数,如果不加可能有依赖组件已经安装导致失败
  2. opkg update
  3. opkg install luci-ssl-openssl --force-overwrite

转换证书编码

OpenWRT所用的SSL组件——PolarSSL只支持DER(二进制)形式编码的证书,而不支持PEM(Base64),所以需要转换

  1. openssl x509 -outform der -in your-cert.pem -out your-cert.crt

修改配置文件

  1. vim /etc/config/uhttpd
  2. #确保添加以下内容

list listen_https ‘0.0.0.0:443’ list listen_https ‘[::]:443’ option cert ‘your-cert.crt’ option key ‘your-key.pem’ option redirect_https ‘1’ #强制https访问

重启uhttpd

  1. /etc/init.d/uhttpd restart

查看日志

  1. logread #openwrt日志是存储在内存中的,关机就没了