openwrt uhttpd更换caddy的备忘

openwrt uhttpd更换caddy的备忘
openwrt的web服务是uhttpd这个轻量级的反代提供的,能提供的功能太弱了,如果使用性能比较强的cpu,以及内存比较大,可以更换为其他的反代,例如nginx,caddy,haproxy等,本文主要记录一下更换caddy的过程。
文章内容均来自:https://www.dolingou.com/article/openwrt-caddy-homelab-reverse-proxy,本文主要是记录备忘。
安装带有php支持的Caddy
默认的官网版本或者源中的caddy都是不带php支持的,无法使用,我们直接下载支持的版本即可。
https://caddyserver.com/download 打开链接后选择对的系统平台和cpu架构,搜索aksdb/caddy-cgi/v2
,勾选上直接下载即可。
- 我的设备是N1,也可以直接用命令行下载。
$ curl -O https://caddyserver.com/api/download?os=linux&arch=arm64&p=github.com%2Faksdb%2Fcaddy-cgi%2Fv2&idempotency=73058696755620
- 重命名后给与可执行权限并移动到
/usr/bin
1 | mv caddy_linux_amd64_custom caddy |
配置Caddyfile
文件
配置文件在
/etc/caddy/Caddyfile
,没有就自己新建一个文件即可
$ sudo vim /etc/caddy/Caddyfile
添加如下内容,具体的文件意义可以看原文
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32{
order cgi before respond
order file_server last
# skip_install_trust
# auto_https disable_redirects
# default_sni openwrt.local
}
(luci) {
root * /www
route /cgi-bin* {
@exists {
file cgi-bin/{path.1} =404
}
handle @exists {
uri strip_prefix {file_match.relative}
cgi * /www/{file_match.relative} {
script_name {file_match.relative}
}
}
}
cgi /ubus* ubus.sh {
script_name /ubus
}
file_server
redir / /cgi-bin/luci
}
http:// {
import luci
}
下载ubus.sh
并进行配置
1 | # 下载ubus脚本 |
关闭uhttpd
1 | $ sudo /etc/init.d/uhttpd disable |
配置caddy启动脚本
- 在/etc/init.d 下新建一个caddy的文件,复制粘贴如下内容
1 |
|
- 赋予可执行权限
$ sudo chmod +x /etc/init.d/caddy
启动caddy并配置开机自启动
1
2$ sudo /etc/init.d/caddy start
$ sudo /etc/init.d/caddy enable
配置caddy反向代理
使用通配占位符没有成功,还在研究之中。
总结
主要是内网有https的需求,以及反向代理的易用性。
openwrt uhttpd更换caddy的备忘
/post/openwrt-uhttpd-memo-to-replace-caddy-hlfca.html
评论
评论插件加载失败
正在加载评论插件