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配置,网站以https://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网站
以下是使用域名(以666.com为例)访问,反代一个HTTP协议网站的Caddy配置。大家可以使用下面的Linux命令直接进行添加。
- echo "http://666.com {
- gzip
- proxy / http://www.baidu.com
- }" > /usr/local/caddy/Caddyfile
或者手动修改Caddy配置文件为下述内容,配置文件位置:/usr/local/caddy/Caddyfile。
- http://666.com {
- gzip
- proxy / http://www.baidu.com
- }
3、使用域名反代HTTPS网站
使用域名反代HTTPS需要额外配置SSL证书及密钥。下面分为你有相应SSL文件和你没有相应SSL文件来讨论。
(1)如果你自己有相应的SSL证书及密钥,请将域名的SSL证书及密钥(***.crt和***.key)放置到/root目录里面,然后使用下面的Linux命令直接进行添加。
- echo "https://666.com {
- gzip
- tls /root/***.crt /root/***.key
- proxy / https://www.baidu.com
- }" > /usr/local/caddy/Caddyfile
或者手动修改Caddy配置文件为下述内容,配置文件位置:/usr/local/caddy/Caddyfile。
- https://666.com {
- gzip
- tls /root/***.crt /root/***.key
- proxy / https://www.baidu.com
- }
(2)如果你自己没有相应的SSL证书及密钥,请先设置好域名解析,然后将下面命令中的***@***.com替换为你的邮箱,然后使用下面的Linux命令直接进行添加。
- echo "https:/666.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
以上就是本篇教程的所以信息了,如果有遇到什么问题,请留言提问。