利用 Caddy 一键反代网站并签发证书SSL

安装Caddy

运行以下命令:

wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh
#备用地址
wget -N --no-check-certificate https://down.boluo.link/linux/Caddy/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh

配置文件

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

1、服务器IP反向代理

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

# 以下全部内容是一个整体,是一个命令,全部复制粘贴到SSH软件中并一起执行!
echo ":80 {
 gzip
 proxy / http://www.baidu.com
}" > /usr/local/caddy/Caddyfile

服务器IP也可以反向代理HTTPS协议的网站,但是需要自签SSL证书,现在的浏览器一般都不会认自签的SSL证书,所以不建议这么做。

2、域名反向代理HTTP

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

# 以下全部内容是一个整体,是一个命令,全部复制粘贴到SSH软件中并一起执行!
echo "http://boluo.link {
 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://boluo.link {
 gzip
 tls /root/xxx.crt /root/xxx.key
 proxy / https://www.baidu.com
}" > /usr/local/caddy/Caddyfile

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

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

# 以下全部内容是一个整体,是一个命令,全部复制粘贴到SSH软件中并一起执行!
echo "https://boluo.link {
 gzip
 tls xxxx@xxx.xx
 proxy / https://www.baidu.com
}" > /usr/local/caddy/Caddyfile

如果一切正常,那么Caddy会自动帮你申请SSL证书并配置好,而且会定时续约SSL证书和强制http重定向至https!

4、HTTP重定向为HTTPS

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

下面的示例代码中,是把http://boluo.link、http://s1.boluo.link、https://s2.boluo.link三个域名都重定向到了 https://www.boluo.link。

# 以下全部内容是一个整体,是一个命令,全部复制粘贴到SSH软件中并一起执行!
echo "http://boluo.link ,http://s1.boluo.link ,https://s2.boluo.link {
 redir https://www.boluo.link{url}
}
https://www.boluo.link {
 gzip
 tls /root/xxx.crt /root/xxx.key
 proxy / https://www.baidu.com
}" > /usr/local/caddy/Caddyfile

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

/etc/init.d/caddy restart

5、用boluo.link反代boluo.link

如果你需要在前端用boluo.link反代后端服务器的boluo.link,可以

# 以下全部内容是一个整体,是一个命令,全部复制粘贴到SSH软件中并一起执行!
echo "https://boluo.link {
 gzip
 tls xxxx@xxx.xx
 proxy / https://boluo.link
}" > /usr/local/caddy/Caddyfile

同时修改/etc/hosts,添加

boluo.link  后端服务器ip

6、用作纯静态网站

echo "https://boluo.link{     
        gzip   
        tls admin@boluo.link {     
                protocols tls1.2   
}  
       root /var/www/boluo.link
}" > /usr/local/caddy/Caddyfile
(0)
PipitaPipita
上一篇 2020-12-01
下一篇 2020-12-01

相关文章

  • 内网穿透神器Frps一键安装脚本及设置教程

     frps 是一个高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务,支持 tcp, http, https 等协议类型,并且 web 服务支持根据域名进行路由转发。       *因为frps是go语言写的,所以在路由器上使用的时候,请使用虚拟内存,请使用虚拟内存,请使用虚拟内存。 前期准备:一个刷过梅林固件的路由、一个云服务器或者VPS …

    无关专业 2020-02-24
  • 如何编译自己需要的 OpenWrt 固件

    Lean https://github.com/coolsnowwolf/lede 注意: 不要用 root 用户 git 和编译!!! 国内用户编译前最好准备好梯子 默认登陆IP 192.168.1.1, 密码 password 编译命令如下: 首先装好 Ubuntu 64bit,推荐 Ubuntu 18 LTS x64 命令行输入 sudo apt-ge…

    无关专业 2020-12-10
  • 一键网络重装系统 – DD魔改版(适用于Linux / Windows)

    简介 一键网络重装系统 – 魔改版,它可以通过Internet重新安装Linux和Windows以及常见的操作系统。例如:Linux(CentOS,Debian,Ubuntu、etc..),Windows(2019、2016、2012R2、2008R2、7、2003、etc..),以及其他系统(不断支持更多中)。 当我们需要重装VPS/云平台/独…

    无关专业 2020-12-01
  • WordPress解决上传文件大小限制问题

    在nginx的配置文件里http下面加入一句:client_max_body_size 64M;例如我的配置文件路径为: /etc/nginx/nginx.confphp.iniupload_max_filesize = 128Mpost_max_size = 128Mmemory_limit 256Mmax_execution_time 300max_in…

    无关专业 2020-01-15
  • 描述时间过得快的好句子

    1.后来,南山的风吹散了谷堆,北海的水淹没了墓碑。 这句话的意思是“时间过得很快”,但富有诗意,有那种“时光荏苒,岁月沧桑”的意境。比如,写“回忆”类记叙文时,表示时间很快过去,但依然铭记亲人或朋友时,可以这么去结尾:“后来,南山的风吹散了谷堆,北海的水淹没了墓碑,多少事沧桑巨变,无数人来了又回,可与你有关的点点滴滴,一直在我心上铭刻,不曾改变,也永不褪色。…

    无关专业 2021-12-20
  • PVE导入img为磁盘

    ./img2kvm    另一种方法: qemu-img convert -f raw -O qcow2 DS3617xs_DSM6.1_Broadwell.img vm-103-disk-2.qcow2 qm importdisk 103 vm-103-disk-2.qcow2 local img通常为启动引导分区如lede和群晖的引导。

    无关专业 2020-07-19