惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

C
CXSECURITY Database RSS Feed - CXSecurity.com
Stack Overflow Blog
Stack Overflow Blog
月光博客
月光博客
T
Threat Research - Cisco Blogs
小众软件
小众软件
有赞技术团队
有赞技术团队
酷 壳 – CoolShell
酷 壳 – CoolShell
Apple Machine Learning Research
Apple Machine Learning Research
C
Cyber Attacks, Cyber Crime and Cyber Security
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
T
Tailwind CSS Blog
Cisco Talos Blog
Cisco Talos Blog
V
V2EX
博客园 - 【当耐特】
C
Cybersecurity and Infrastructure Security Agency CISA
Hugging Face - Blog
Hugging Face - Blog
The Cloudflare Blog
The Last Watchdog
The Last Watchdog
Simon Willison's Weblog
Simon Willison's Weblog
T
Threatpost
S
Secure Thoughts
O
OpenAI News
P
Proofpoint News Feed
S
SegmentFault 最新的问题
Forbes - Security
Forbes - Security
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Application and Cybersecurity Blog
Application and Cybersecurity Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Last Week in AI
Last Week in AI
宝玉的分享
宝玉的分享
Scott Helme
Scott Helme
T
Tenable Blog
A
Arctic Wolf
L
LINUX DO - 热门话题
爱范儿
爱范儿
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
www.infosecurity-magazine.com
www.infosecurity-magazine.com
V
Visual Studio Blog
Hacker News: Ask HN
Hacker News: Ask HN
Hacker News - Newest:
Hacker News - Newest: "LLM"
腾讯CDC
博客园 - Franky
WordPress大学
WordPress大学
Know Your Adversary
Know Your Adversary
博客园_首页
雷峰网
雷峰网
IT之家
IT之家
PCI Perspectives
PCI Perspectives
L
LINUX DO - 最新话题
H
Heimdal Security Blog

Rat's Blog - ssl

使用Caddy申请免费的Let’s Encrypt泛域名SSL证书 - Rat's Blog Let’s Encrypt免费泛域名SSL证书申请教程 - Rat's Blog 一个可以免费申请Let's Encrypt和TrustAsia SSL证书的网站 - Rat's Blog acme.sh:Let's Encrypt SSL证书自动签发脚本 - Rat's Blog MySSL:一个很详细的SSL测试工具网站 - Rat's Blog しらSSL:免费Alphassl泛域名证书申请 - Rat's Blog 分享一个SSL证书链补全工具,解决部分浏览器显示证书不可信的问题 - Rat's Blog 免费Alphassl泛域名SSL证书申请方法 - Rat's Blog Apache环境强制http 301跳转https的方法 - Rat's Blog
利用Caddy快速简单的部署反向代理/镜像,自动签发SSL证书 - Rat's Blog
博主: Rat's · 2017-11-24 · via Rat's Blog - ssl

说明:之前关于反向代理教程发了好几个了,参考:利用Nginx反向代理来简单镜像HTTP(S)网站的方法,不过对比使用Caddy来反代的方法,还是麻烦了些,但是Nginx性能却好些,各有优点吧,一般不想折腾的就建议使用Caddy来反代,毕竟Caddy配置简单也支持自签Let’s Encrypt SSL证书,很方便。

更新

【2020.10.20】
替换脚本caddy安装包,算是修复了,有疑问随时留言即可。

安装Caddy

运行以下命令:

wget -N --no-check-certificate https://raw.githubusercontent.com/iiiiiii1/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh
#备用地址
wget -N --no-check-certificate https://www.moerats.com/usr/shell/Caddy/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh

配置文件

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

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://toyoo.ml {
 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://toyoo.ml {
 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://toyoo.ml {
 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://toyoo.mlhttp://233.toyoo.mlhttps://666.toyoo.ml三个域名都重定向到了 https://toyoo.ml

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

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

/etc/init.d/caddy restart

关于Caddy更多介绍参考:一个极简的HTTP Server: Caddy一键安装脚本


版权声明:本文为原创文章,版权归 Rat's Blog 所有,转载请注明出处!

本文链接:https://www.moerats.com/archives/422/

如教程需要更新,或者相关链接出现404,可以在文章下面评论留言。