Openwrt 开启外网访问并配置 SSL

记录一下 OpenWrt 开启外网访问并绑定 SSL 证书的操作

外网访问

  • 关闭只允许内网访问的设置 (去掉勾选)
    img
  • 防火墙 ==> 端口转发 中添加端口转发,将外网 5500 应设置 OpenWrt 的 80 端口
    img
  • 通过域名 + 5500 端口即可访问

    添加 SSL 证书

  • 编辑 uHTTPd 的配置文件,打开路由器的 SSL 443 端口

    $ vi /etc/config/uhttpd

    在原有配置 list listen_http ‘0.0.0.0:80’下面加入以下两行

    # 注意是https
    list listen_https '0.0.0.0:443'
    list listen_https '[::]:443'
  • 输入以下命令安装 acme.sh

    $ curl  https://get.acme.sh | sh

    可以看到此时已经添加了定时任务

    img

  • 此处使用 cloudflare 接口进行自动认证

    • 获取 CF_Email,CF_Key 两个参数,并执行以下命令

      export CF_Email="abcde@126.com"
      export CF_Key="de6132435csofe45464650w4646464602"
  • 输入以下命令,运行 acme.sh 生成证书,并将生成的证书放到 uHTTPd 的默认存储位置,最后自动重启 uHTTPd

    $ /root/.acme.sh/acme.sh --issue --dns dns_cf -d sowevo.com -d *.sowevo.com --keypath /etc/uhttpd.key --fullchainpath /etc/uhttpd.crt --reloadcmd "/etc/init.d/uhttpd restart"

    稍等一会命令执行完成 (不同的 dns 厂商时间会有不同), 证书就申请完毕

  • 将路由器的 443 端口映射到外网
    img
    家宽的 443 端口竟然没有封,就先使着吧…

    Sowevo 的博客
最后修改:2022 年 03 月 03 日
如果你喜欢,请随意赞赏