废话不多说直接开始~

一、安装caddy

wget -N --no-check-certificate https://raw.githubusercontent.com/seal0207/caddy_install/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh

二、配置文件

1.服务器IP 反向代理
下面是一个,用你服务器的IP 来反向代理一个 http 协议的网站 http://www.baidu.com

一次性复制以下全部代码,并粘贴到SSH中执行:

echo ":80 {
    gzip
    proxy / http://www.baidu.com
}" > /usr/local/caddy/Caddyfile

2.域名 反向代理 HTTP
下面是一个,用你的域名 来反向代理一个 http 协议的网站 http://www.baidu.com

以下所有示例域名为 toyoo.ml ,请注意替换为 自己的域名 !

一次性复制以下全部代码,并粘贴到SSH中执行:

echo "http://xxx.xx {
gzip
proxy / http://www.baidu.com
}" > /usr/local/caddy/Caddyfile

如果你需要反向代理 HTTPS 协议的网站,比如 https://www.baidu.com ,那么继续看下面步骤。

3.域名 反向代理 HTTPS
如果你有 SSL证书和密匙的话,把 SSL证书(xxx.crt)和密匙(xxx.key)文件放到 /root 文件夹下(也可以是其他文件夹,自己改下面代码),然后这样做:

一次性复制以下全部代码,并粘贴到SSH中执行:

echo "https://xxx.xx {
gzip
tls /root/xxx.crt /root/xxx.key
proxy / https://www.baidu.com
}" > /usr/local/caddy/Caddyfile

如果你没有 SSL证书和密匙,那么你可以这样做:

下面的 邮箱地址 改成你的邮箱,同时需要注意的是,申请 SSL证书前,请务必提前解析好域名记录(解析后最好等一会,以全球生效),否则 Caddy会申请并配置失败!

一次性复制以下全部代码,并粘贴到SSH中执行:

echo "https://xxx.xx {
gzip
tls 邮箱地址
proxy / https://www.baidu.com
}" > /usr/local/caddy/Caddyfile

如果一切正常,那么Caddy会自动帮你申请 SSL证书并配置好,而且会定时续约SSL证书 和 强制 http重定向至https!
上面这两段示例中,只要把 https://www.baidu.com 改成 https://www.google.com ,即可实现反向代理Google了!
需要注意的是,因为墙会检测关键词,所以请务必使用 HTTPS协议,不要使用 HTTP协议,否则很快就会被墙!

4.HTTP重定向为HTTPS

当你是手动指定 SSL证书和密匙 来配置的话,Caddy只会监听 443端口(https),并不会自动设置 80端口(http)的重定向(如果是Caddy自动申请的SSL证书,那么就自动做好了),如果要做重定向的话,可以这样做:

下面的示例代码中,是把 http://1.ml、http://2.ml、https://3.ml 三个域名都重定向到了 https://xxx.xx

一次性复制以下全部代码,并粘贴到SSH中执行:

echo "http://1.ml ,http://2.ml ,https://3.ml {
redir https://xxx.xx{url}
}
https://xxx.xx {
gzip
tls /root/xxx.crt /root/xxx.key
proxy / https://www.baidu.com
}" > /usr/local/caddy/Caddyfile

修改完 Caddy的配置文件后,重启 Caddy即可。

service caddy restart

5.使用说明
启动:service caddy start

停止:service caddy stop

重启:service caddy restart

查看状态:service caddy status

查看Caddy启动日志: tail -f /tmp/caddy.log

Caddy配置文件位置:/usr/local/caddy/Caddyfile

最后修改:2021 年 04 月 20 日 11 : 45 AM