Caddy是一个使用Go语言写的HTTP Server,开在性能上或许比不上Nginx,但是在上手及配置难度上面真的是比Nginx简单许多。同时Caddy支持自动签订Let’s Encrypt SSL证书,只需要提供一个可用邮箱即可。本文主要说一说如何使用Caddy快速部署反向代理。
以下所有操作都是在搬瓦工debian-7-x86_64系统上进行的,如果使用其他系统时遇到问题,请留言!
一、安装Caddy
开源社区Github上面前人已经造好了轮子,我们使用下面的命令直接安装即可。
-
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh install http.filemanager
出现下面画面是则说明Caddy安装成功,我们继续下面的步骤。
二、配置文件示例
以下是几种常见的反向代理的配置文件示例,大家可以根据实际情况进行选择。
1、使用IP反代HTTP网站
以下是使用IP访问,反代一个HTTP协议网站的Caddy配置,网站以http://www.baidu.com为例。可以使用下面的Linux命令直接进行添加。
echo ":80 {
gzip
proxy / http://www.baidu.com
}" > /usr/local/caddy/Caddyfile
或者手动修改Caddy配置文件为下述内容,配置文件位置:/usr/local/caddy/Caddyfile。
:80 {
gzip
proxy / http://www.baidu.com
}
2、使用域名反代HTTP网站
以下是使用域名(以www.banwago.com为例)访问,反代一个HTTP协议网站的Caddy配置。大家可以使用下面的Linux命令直接进行添加。
echo "http://www.banwago.com {
gzip
proxy / http://www.baidu.com
}" > /usr/local/caddy/Caddyfile
或者手动修改Caddy配置文件为下述内容,配置文件位置:/usr/local/caddy/Caddyfile。
http://www.banwago.com {
gzip
proxy / http://www.baidu.com
}
3、使用域名反代HTTPS网站
使用域名反代HTTPS需要额外配置SSL证书及密钥。下面分为你有相应SSL文件和你没有相应SSL文件来讨论。
(1)如果你自己有相应的SSL证书及密钥,请将域名的SSL证书及密钥(***.crt和***.key)放置到/root目录里面,然后使用下面的Linux命令直接进行添加。
echo "www.banwago.com {
gzip
tls /root/***.crt /root/***.key
proxy / https://www.baidu.com
}" > /usr/local/caddy/Caddyfile
或者手动修改Caddy配置文件为下述内容,配置文件位置:/usr/local/caddy/Caddyfile。
https://www.banwago.com {
gzip
tls /root/***.crt /root/***.key
proxy / https://www.baidu.com
}
(2)如果你自己没有相应的SSL证书及密钥,请先设置好域名解析,然后将下面命令中的***@***.com替换为你的邮箱,然后使用下面的Linux命令直接进行添加。
echo "https://www.banwago.com {
gzip
tls ***@***.com
proxy / https://www.baidu.com
}" > /usr/local/caddy/Caddyfile
如果你的域名解析正常,那么Caddy会自动帮你申请SSL,并续约。同时也自动添加了HTTP强制跳转HTTPS的配置。
三、Caddy使用命令
启动:/etc/init.d/caddy start
停止:/etc/init.d/caddy stop
重启:/etc/init.d/caddy restart
查看状态:/etc/init.d/caddy status
查看Caddy启动日志: tail -f /tmp/caddy.log
Caddy配置文件位置:/usr/local/caddy/Caddyfile
Caddy自动申请SSL证书位置:/.caddy/acme/acme-v01.api.letsencrypt.org/sites/xxx.xxx(域名)/
如果你想要卸载Caddy,请使用下面的命令,运行后输入y即可卸载。
wget -N --no-check-certificate https://raw.githubusercontent.com/pipesocks/install/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh uninstall
以上就是本篇教程的所以信息了,如果有遇到什么问题,请留言提问。
原文地址:https://www.cnblogs.com/Bandwagonhost/p/8203484.html