type
status
date
slug
summary
tags
category
icon
password
上次编辑时间
May 15, 2024 04:53 AM
创建时间
Jan 6, 2024 06:34 AM
参考链接
准备
- 一台云服务器
- 一个域名
- 创建一个三级域名解析到云服务器
IP
我以caddy.example.com
为例
安装
我使用的是ubuntu系统,对应命令为
以下
caddy -h
命令输出,翻译为ChatGPT
生成 原文内容
中文内容
使用
如何运行?
当使用
caddy start
时, 加载配置文件需要使用API接口,也就是2019 端口基础操作(先运行
caddy start
):- 查看当前配置信息
- 加载配置文件
- caddy.json 内容
Caddyfile
直接加载json
加载 caddy.json
文件
加载 Caddyfile
关闭caddy
当下次
caddy start
时,还是会继续加载上一次停止前的配置文件服务器
caddy 开启静态资源服务器有一个ui界面
- 在终端中,切换到站点的根目录并运行
- 此时打开2015 端口,没有显示任何东西
- 可以添加
--browse
参数,可以显示文件列表
- 如果需要指定哪一个目录为根目录
使用
Caddyfile
- 确保
caddy stop
- 创建
Caddyfile
- 在
Caddyfile
同一路径运行caddy run
,caddy
会默认使用Caddyfile
- 此时
caddy
是运行在前台,想要运行在后台就先caddy start
,然后使用下面的curl
命令指定更新配置文件
- 记住
caddy start
后如果要终止运行 就要运行caddy stop
反向代理
使用命令行(会在前台运行)
将
8080
端口反向代理到2080
端口使用域名,会默认升级为
https
协议使用 Caddyfile
Caddyfile 多个站点
到目前为止我们的 Caddyfile:
相当于这个:
创建多个站点实例如下
对于反向代理的看法以及研究
在遇见、学习以及使用caddy的时候,我都有一个目的,那就是利用他的反向代理。在最初学习时,尝试过很多配置,以为caddy的反向代理并不能代理非本机的服务,只能代理与本机有关的端口以及域名。后来经过查找大量资料,发现,是可以代理其他的服务的,但会被被代理的服务所限制
例如以下 Caddyfile
代理bilibili的时候,发现能代理成功,但是由于b站还使用了其他跨域的接口,那些不方便代理,只出现了一个b站的logo,加上也是初学,编辑caddyfile的语法也有问题
但是正常来说,按照上面的配置格式是可以实现反向代理的
目前我发现的比较重要的点是需要设置
Host