一键安装Caddy,快速部署反向代理或镜像网站

Caddy是一个使用Go语言写的HTTP Server,开在性能上或许比不上Nginx,但是在上手及配置难度上面真的是比Nginx简单许多。同时Caddy支持自动签订Let’s Encrypt SSL证书,只需要提供一个可用邮箱即可。本文主要说一说如何使用Caddy快速部署反向代理。

以下所有操作都是在搬瓦工debian-7-x86_64系统上进行的,如果使用其他系统时遇到问题,请留言!

一、安装Caddy

开源社区Github上面前人已经造好了轮子,我们使用下面的命令直接安装即可。

  1. 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

时间: 2024-11-05 19:40:46

一键安装Caddy,快速部署反向代理或镜像网站的相关文章

使用apache's mod_ssl模块反向代理谷歌镜像

Centos6.5配置反向代理谷歌镜像站点 一.准备工作 域名:www.idweb.top 服务器:CentOS release 6.4 (Final) 内核:2.6.32-358.6.1.el6.x86_64 IP:118.193.243.170 首先保证机器能正常上网,并且有外网ip.空间域名商做了解析记录. 二.配置开始 [[email protected] ~]# yum -y install http mod_ssl 安装完毕后,修改配置文件 [[email protected] ~]

腾讯云(ubuntu)下安装 nodejs + 实现 Nginx 反向代理

本文将介绍如何给腾讯云上的 Ubuntu Server 12.04 LTS 64位主机安装 node 及 nginx,并简单配置反向代理. 笔者在整个安装过程中遇到不少麻烦(不赘述),如果你希望少踩坑,可以按本文的步骤进行安装部署. 一. 新版 nodejs 安装 这里强烈推荐使用 nvm (Node版本管理器),其它方式的安装或多或少都有些问题. 具体步骤如下: 1. 通过 git 指令下载nvm 执行指令如下,我们把nvm下载到 /root/git/ 中去(记得要先安装 git): [[em

Nginx web服务器 安装 配置PHP SSL 反向代理 负载均衡 web缓存 URL 重写 写分离

[Nginx web服务器] 安装 为nginx提供SysV init脚本 优先级 让Nginx支持站点用户认证访问 Nginx SSL 配置 打开防火墙443 端口 基于主机名的 虚拟主机 源码安装 PHP Nginx反向代理 Nginx负载均衡 Nginx web缓存 Nginx URL 重写 Nginx读写分离 [Nginx web服务器] 支持5万高并发,实际3万 负载均衡  LVS 反向代理 200第一次连接 302 缓存里面来的 [[email protected] home]# d

Shell脚本-自动化部署反向代理、WEB、nfs

部署nginx反向代理三个web服务,调度算法使用加权轮询(由于物理原因只开启两台服务器) AutoNginxNfsService.sh #/bin/bash systemctl status nginx if(($?==4)) then yum install -y nginx if(($?==0)) then #echo 'Yes!' systemctl start nginx if(($?==0)) then echo "Congratulations!! Nginx start OK!!

Nginx安装、性能测试、反向代理、负载均衡实例

一.nginx安装 我使用的环境是64位 Ubuntu 14.04.nginx依赖以下模块: l gzip模块需要 zlib 库 l rewrite模块需要 pcre 库 l ssl 功能需要openssl库 1.1.安装pcre l 获取pcre编译安装包,在http://www.pcre.org/上可以获取当前最新的版本 l 解压缩pcre-xx.tar.gz包. l 进入解压缩目录,执行./configure. l make & make install 1.2.安装openssl l 获

编译安装nginx并实现反向代理负载均衡和缓存功能

一.编译安装nginx 1.下载 [[email protected] ~]# wget http://nginx.org/download/nginx-1.10.0.tar.gz 2.解压 [[email protected] ~]# tar xf nginx-1.10.0.tar.gz [[email protected] ~]# cd nginx-1.10.0 3.安装依赖组件 [[email protected] nginx-1.10.0]# yum install pcre-devel

【Asp.net Core】在 Linux 子系统中安装 nginx 并配置反向代理

上一篇鸟文中,老周已经介绍过在 Ubuntu 子系统中安装 dotnet-sdk 的方法,本文老周给大伙伴们说说安装 nginx 服务,并配置反向代理.同样,老周假设你从来没有用过 Linux,所以老周会讲得很细.可能因为这样,博客园每次都把老周的文章撤下首页.不管他,他撤他的,我推我的,Who 怕 Who. 其实,你可以选择 nginx 或 Apache,不过老周更喜欢 nginx 一些,总觉得 Apache 有些别扭.当然了,asp.net core 应用是可以独立运行,所以,你确实可以直接

centos7安装Nginx 配置及反向代理

Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”,是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器.Nginx是由俄罗斯人 Igor Sysoev为俄罗斯访问量第二的 Rambler.ru站点开发.Nginx以事件驱动(epoll)的方式编写,所以有非常好的性能,同时也是一个非常高效的反向代理.负载平衡.但是Nginx并不支持cgi方式运行,原因是可以减少因此带来的一些程序上的漏洞.所以必须使用FastC

反向代理Cloudflare加速网站(SNIproxy)

写在教程前:为什么要反向代理cloudflare?答:缩短路由,加快cloudflare节点到大陆用户的速度,用过cloudflare的用户应该知道,这家CDN的速度在除了大陆以外的地方访问都非常快,那么又没有什么办法使其对大陆访问良好呢? 该操作适用环境: ①不想暴露源站,但是国内搜索引擎对cf节点抓取速度慢 ②没被攻击前使用自建反代加快访问,宕机后迅速切换为cf官方节点(dnspod) ③没有使用NS接入而是CNAME ④有一台对国内访问快且访问Cloudflare也很快的服务器(如 PCC