Openwrt 开启外网访问并配置 SSL

Openwrt 开启外网访问并配置 SSL

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

外网访问

关闭只允许内网访问的设置 (去掉勾选)

img

防火墙 ==> 端口转发 中添加端口转发,将外网 5500 应设置 OpenWrt 的 80 端口

img

通过域名 + 5500 端口即可访问

添加 SSL 证书

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

代码语言:javascript
复制
$ vi /etc/config/uhttpd

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

代码语言:javascript
复制
# 注意是https
list listen_https '0.0.0.0:443'
list listen_https '[::]:443'

输入以下命令安装 acme.sh

代码语言:javascript
复制
$ curl  https://get.acme.sh | sh

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

img

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

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

代码语言:javascript
复制
export CF_Email="abcde@126.com"
export CF_Key="de6132435csofe45464650w4646464602"

输入以下命令,运行 acme.sh 生成证书,并将生成的证书放到 uHTTPd 的默认存储位置,最后自动重启 uHTTPd

代码语言:javascript
复制
$ /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 的博客