前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >利用caddy 部署https+proxy代理

利用caddy 部署https+proxy代理

作者头像
用户3157710
发布2019-04-19 11:42:36
8.3K0
发布2019-04-19 11:42:36
举报

Caddy是一个使用 Go语言写的 HTTP Server,开发时间并不长,在性能上或许比不上 Nginx,但是在 上手难度/配置难度 上面简单的不行不行的。 并且 Caddy支持 自动签订Let’s Encrypt SSL证书,什么都不需要你管,只需要提供一个邮箱,剩下的他会自己申请、配置和续约 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

配置文件

    Caddy的特点之一就是,配置文件非常的简单,继续下面看就知道了。

    配置文件位置在  /usr/lcoal/caddy/Caddyfile

服务器IP 反向代理

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

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

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

域名 反向代理 HTTP

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

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

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

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

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

域名 反向代理 HTTPS

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

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

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

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

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

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

echo "https://www.xx.com { gzip tls xxxx@xxx.xx proxy / https://www.bibiqiqi.com }" > /usr/local/caddy/Caddyfile

重启caddy

/etc/init.d/caddy restart

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

    上面这两段示例中,只要把 https://www.bibiqiqi.com 改成 https://www.google.com ,即可实现反向代理 Google了!

需要注意的是,因为墙会检测关键词,所以请务必使用 HTTPS协议,不要使用 HTTP协议,否则很快就会被墙!

网页加密

    什么?担心自己做的镜像不小心爆露被滥用?没事,设置一下用户名和密码即可,只需要在上面的示例中加入这行代码:

basicauth / user passwd

    user指的是 用户名,passwd指的是 用户名密码,设置这个后,访问网页就需要输入用户名和密码来验证了!

    修改配置文件后,记得重启 Caddy !

    配置示例:

echo "https://www.xx.com { gzip basicauth / user passwd tls xx@xx.com proxy / https://www.bibiqiqi.com }" > /usr/local/caddy/Caddyfile

效果

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.04.12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
SSL 证书
腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档