Caddy轻松让HTTP端口实现TLS加密
Caddy是基于Go语言编写,安装到Linux上无需任何依赖库,必须拷贝一个Caddy的可执行文件就可以开启一个静态的HTTP站点,由于这种轻量小巧静态的特性,特别适合配合一些小型应用使用。比如配合Aria2实现远程下载,配合munin实现服务器状态监控,还可以在关健时刻用来测试服务器端口是否通畅。caddy除了可以做一个静态的HTTP服务器之外,还可以像nginx一样做一个反向代理服务器。虽然性能不比NGINX,但是好处也有不少:
1、配置文件简单,1行就可以搞定一个反向代理服务器
2、安装部署方便,只要拷贝一个文件就可以了
3、如果联网,支持全自动的获得一个Let's Encrypt签发的免费HTTPS证书并自动配置上去,而且这是默认执行的,只需把自己的域名写在配置文件里就可以。
4、如果没联网,只需一行就可以签发一个自签名证书,一行升级到HTTPS呦。
5、日志文件与NGINX很像,很详细。
所以非常适合用于一些应急场合,比如有个站点或者某个端口突然要从HTTP改成HTTPS实现加密传输,有了Caddy之后一分钟以内就可以搞定。
场景一:公网上的服务器,已经有了域名,并且该域名就指向该服务器。想免费升级到HTTPS。
建立一个文件,名字交Caddyfile,按照下面这样写:
gzip
proxy / localhost:8080
第一行填写域名,有了这个域名之后,caddy就会向Let's Encrypt发送这个域名,并且进行验证。,然后caddy就会自动申请HTTPS证书,开启80和443端口并进行侦听。
注意:只要写上了域名那么就默认开启了HTTPS服务,无需指定Caddy也会监听到443和80端口上。
最后一行的/是反向代理的范围,/表示全部反向代理,/api表示只有访问的时候才进行反向代理。proxy语句可以写多行,分别对应不通的url地址。
执行之后,程序就会自动向Let's Encrypt请求,然后Let's Encrypt会验证你的域名对应的80和8080端口是否通向你当前的服务器,然后签发证书交给Caddy,一切都是自动的,需要你填写一个邮箱用于加密.下面是一部分,由于没有备案所80端口被运营商锁死,所以我的机器还不能注册HTTPS域名。

场景二:在上面的基础上想添加日志记录
让Caddy像NGINX一样记录访问日志。只需在下面加上日志的配置语句即可
gzip
proxy / localhost:8080
log requests.log {
rotate_size 50 # Rotate after 50 MB
rotate_age 90 # Keep rotated files for 90 days
rotate_keep 20 # Keep at most 20 log files
}
场景3:内网机器,无需连到公网,只是想利用HTTPS来避免明文的传送,这是可以使用Caddy的自签名功能,Caddy自己制作CA证书,然后用这个CA证书签发相应的公钥和私钥。这样虽然使用浏览器会报错证书不够信任,但是达到了密文传输的效果
goodvpn.f3322.net
gzip
tls self_signed
proxy / localhost:8080
第一行的域名可以随便写,但是不要写localhost,关健 一句就在于 tls self_signed。有了这一行便会产生自签名证书。
同样也可以像场景2那样加入log的配置来产生日志文件。
注意如果使用了自签名,那么在启动Caddy要手动指定端口到443
caddy -port 443

启动Caddy特别容易,如果Caddyfile和Caddy在同一个文件夹下,那么只需执行Caddy就可以了
Caddy
如果不想使用443端口,那么也可以手动指定:
相关热词:
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://v30.fanwenzhu.com/server/fwq/7472.shtml
相关文章
热门TAG
win10 ecshop 主机 阿里云 解决 配置 C# C++ 解析 SQL语句 命令 Go语言 方法 CSS3 HTML5 CSS win7 MSSQL 服务器配置 IIS7.5 IIS7 IIS6 IIS CentOS 7 Linux oracle数据库 oracle phpcms discuz discuz教程最新文章
-
使用Cockpit方便地管理容器
时间:2020-12-29
-
linux系统上如何快速安装
时间:2020-12-29
-
如何在Linux VPS上定制自己
时间:2020-12-29
-
开启nginx和php-fpm的status状
时间:2020-12-29
-
采用DNSPOD解析API快速验证
时间:2020-12-29
-
如何在CentOS 7上安装Elast
时间:2020-12-29
-
.Net Core在Linux服务器上部署
时间:2020-12-29
-
如何用树莓派控制GOIO引脚
时间:2020-12-25
热门文章
-
利用可道云KodExplorer软件部署私有云盘和
时间:2020-12-22
-
Linux VPS/服务器一键检测硬件配置、节点下
时间:2020-12-22
-
采用DNSPOD解析API快速验证域名快速安装免
时间:2020-12-29
-
Linux系统下用iperf诊断网络端口是否有被过
时间:2020-12-22
-
在CentOS系统上安装GitLab并自定义域名访问
时间:2020-12-23
-
web3通过testrpc访问以太坊数据入门
时间:2020-12-24
-
容器环境中的代理模型
时间:2020-12-22
-
在linux下启动tomcat,并实时查看tomcat的控
时间:2020-12-23
-
使用Linux定时脚本更新服务器的git代码
时间:2020-12-24
-
.Net Core在Linux服务器上部署.NET框架教程
时间:2020-12-29
