Caddy介绍

引言

VPS最大的用处就是搭建各种网络服务,Web服务器是必不可少的工具。今天介绍一个对新手特别友好的Web服务器——Caddy。我以前用过Apache和Nginx,后面就转向Caddy了。

什么是Caddy?

Caddy是一个用Go语言编写的开源Web服务器。它最大的特点就是简单易用,很多复杂的功能都能自动完成,特别适合刚入门的小伙伴。

常见Web服务器对比

和其他两款Web服务器比较一下。
1. Nginx
– 优点:高性能、低内存占用
– 缺点:配置相对复杂
– 适合:高并发场景

  1. Apache
    • 优点:模块丰富、社区支持好
    • 缺点:性能相对较低
    • 适合:传统企业应用

Caddy的三大优势

  1. 自动HTTPS:Caddy会自动帮你申请和管理SSL证书,使用Nginx和Apache就需要设置定时任务来更新证书,这也是我切换到Caddy的原因。
  2. 配置简单:只需要几行配置就能完成复杂的服务器设置。
  3. 功能丰富:内置反向代理、文件服务、模板渲染等实用功能。

为什么需要HTTPS?

这里的S代表安全(Security)。如果我们HTTP协议,那么我们和WEB服务器来回传递的数据是没有加密的,可以被互联网看到的。

这样还可能出现中间人攻击(Man-in-the-Middle Attack),黑客劫持了域名,我们访问这个域名,以为访问的是正牌的Web服务器,实际访问的是黑客做的冒牌服务器,冒牌服务器把收到的数据转发给正牌服务器,再把收到的正牌服务器的回复转发给我们,在这个过程中还可以偷偷修改传递的数据。这个中间人就在我们不知不觉中获取了大量的数据。

HTTPS通过以下方式解决了这个问题:
1. 加密通信:即使被截获,数据也无法被解读
2. 证书验证:确保连接的是真实服务器
3. 完整性校验:防止数据在传输中被篡改

使用HTTPS必须要绑定域名,因此申请个域名也是极好的,它还有这些好处:
1. 便于记忆:相比IP地址,域名更容易记住和分享
2. 支持多站点:通过多个域名管理多个网站

Caddy安装和配置

  • 在Alam上安装caddy,同时添加防火墙规则
dnf -y install 'dnf-command(copr)'
dnf copr enable @caddy/caddy
dnf -y install caddy
firewall-cmd --add-service http --permanent
firewall-cmd --add-service https --permanent
firewall-cmd --reload
  • 配置网站

比如我现在有一个域名test.vpsdiy.tech,需要在/etc/caddy/Caddyfile中添加一条配置:

test.vpsdiy.tech {
        root * /usr/share/caddy/test
        tls xx@xx.com
        file_server
}

这里xx@xx.com要替换成有效的邮箱,Caddy申请SSL证书要用到,这个证书可能是Let’s Encrypt发放的免费证书。

root定义的目录是test.vpsdiy.tech这个网站的根目录,在这个目录下创建一个文件,比如/usr/share/caddy/test/hello.txt,就可以通过https://test.vpsdiy.tech/hello.txt看到这个文件的内容。

不要忘记重启Caddy,不然https://test.vpsdiy.tech还访问不了。

待续

后面还会介绍域名申请、动态网页等内容。

暂无介绍....

延伸阅读:

部署deepseek-r1

最近DeepSeek-R1模型很火,我也蹭个热点,本文介绍如何在VPS上使用Ollama部署DeepSeek-R1模型,...

leon
2025年2月23日
MySQL备份与还原

我们的VPS可能会硬盘损坏需要重装OS,或者运营商跑路了,所以需要定时备份数据库,以防不测。备份使用mysqldump导...

leon
2025年2月22日
SSH隧道

这章继续介绍基础知识,前面讲到有的服务在127.0.0.1监听,外网无法访问,我们怎么访问呢,可以用SSH隧道。什么是S...

leon
2025年2月20日
部署第一个网络服务

前面介绍了不少基础知识,今天介绍如何部署一个网站,demo在这里。下面是一些前面介绍过的预备知识:- Caddy介绍- ...

leon
2025年2月19日
域名介绍

什么是域名?这个正常人都知道,就不介绍了。为什么有一个域名是极好的,可以查看前面的文章。如何获取免费域名?1. Free...

leon
2025年2月17日