caddy做文件服务器,Caddy,简单好用的Http服务器

2023-10-18 14:10

本文主要是介绍caddy做文件服务器,Caddy,简单好用的Http服务器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

常年以来一直使用Nginx作为Http服务器,足够稳定效率也非常高,但是对于一个新手来说,学习Nginx的Conf配置并不是一个非常容易的事情,而且随着HTTPS的全面普及,Nginx上的HTTPS的配置还是比较复杂,而且对于免费的Let’s Encrypt也没有非常好的支持。惊叹就来给大家介绍一个更轻量更简单的Http服务器:Caddy。

先套用一张官网截图,看下Caddy的主要特性:

6b2da8dc823a857af7ff0899b63215cd.png

对于普通用户来说,其中比较重要的特性,莫过于全自动的HTTPS支持了(自动使用Let’s Encrypt申请并使用证书),今天就简单介绍下如何快速部署Caddy。

下载Caddy

在Caddy官方网站可以根据你的需要很方便的下载到适用于各个平台的程序,并且可以根据你的需要安装相应的插件(例如实现IP过滤等功能),我的生产环境是Ubuntu,因此直接下载了Linux 64-bit版本。

Hello World

Caddy的使用非常简单,解压缩后,在目录下创建一个index.html,然后执行./caddy即可开启,访问 http://localhost:2015 就可以看到你刚才创建的index.html了

Caddyfile配置

Caddyfile是caddy的配置文件,详细的配置说明可以参考User Guide,我这里就直接介绍下我的Caddyfile配置1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20https://jayshao.com { #首行都是以你配置的监听域名和端口开始,类似于Nginx的Server

gzip #开启gzip压缩

log /var/www/log/access.log #访问日志的配置

errors { #错误日志的配置

log /var/www/log/error.log {

size 50 #50M以后,自动分割

age 30 #分割文件最多保留30天

keep 5 #最多保留5个分割文件

}

}

tls i@jayshao.com { #启用HTTPS,并使用i@jayshao.com来作为账户自动申请Let's Encrypt的HTTPS证书

protocols tls1.0 tls1.2 #设置最低和最高的https协议

}

proxy / http://127.0.0.1:2368 { #我的后端使用Ghost博客,因此proxy_pass到后端的2368端口

header_upstream Host {host}

header_upstream X-Real-IP {remote}

header_upstream X-Forwarded-For {remote}

header_upstream X-Forwarded-Proto {scheme}

}

}

再次运行./caddy,稍等几秒申请完https证书后,HTTP服务就已经启动了,是不是非常简单?

这篇关于caddy做文件服务器,Caddy,简单好用的Http服务器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/233086

相关文章

基于Qt开发一个简单的OFD阅读器

《基于Qt开发一个简单的OFD阅读器》这篇文章主要为大家详细介绍了如何使用Qt框架开发一个功能强大且性能优异的OFD阅读器,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 目录摘要引言一、OFD文件格式解析二、文档结构解析三、页面渲染四、用户交互五、性能优化六、示例代码七、未来发展方向八、结论摘要

Apache Tomcat服务器版本号隐藏的几种方法

《ApacheTomcat服务器版本号隐藏的几种方法》本文主要介绍了ApacheTomcat服务器版本号隐藏的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1. 隐藏HTTP响应头中的Server信息编辑 server.XML 文件2. 修China编程改错误

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一

如何在一台服务器上使用docker运行kafka集群

《如何在一台服务器上使用docker运行kafka集群》文章详细介绍了如何在一台服务器上使用Docker运行Kafka集群,包括拉取镜像、创建网络、启动Kafka容器、检查运行状态、编写启动和关闭脚本... 目录1.拉取镜像2.创建集群之间通信的网络3.将zookeeper加入到网络中4.启动kafka集群

无线路由器哪个品牌好用信号强? 口碑最好的三个路由器大比拼

《无线路由器哪个品牌好用信号强?口碑最好的三个路由器大比拼》不同品牌在信号覆盖、稳定性和易用性等方面各有特色,如何在众多选择中找到最适合自己的那款无线路由器呢?今天推荐三款路由器让你的网速起飞... 今天我们来聊聊那些让网速飞起来的路由器。在这个信息爆炸的时代,一个好路由器简直就是家庭网编程络的心脏。无论你

Python如何实现 HTTP echo 服务器

《Python如何实现HTTPecho服务器》本文介绍了如何使用Python实现一个简单的HTTPecho服务器,该服务器支持GET和POST请求,并返回JSON格式的响应,GET请求返回请求路... 一个用来做测试的简单的 HTTP echo 服务器。from http.server import HT

如何安装 Ubuntu 24.04 LTS 桌面版或服务器? Ubuntu安装指南

《如何安装Ubuntu24.04LTS桌面版或服务器?Ubuntu安装指南》对于我们程序员来说,有一个好用的操作系统、好的编程环境也是很重要,如何安装Ubuntu24.04LTS桌面... Ubuntu 24.04 LTS,代号 Noble NumBAT,于 2024 年 4 月 25 日正式发布,引入了众

如何提高Redis服务器的最大打开文件数限制

《如何提高Redis服务器的最大打开文件数限制》文章讨论了如何提高Redis服务器的最大打开文件数限制,以支持高并发服务,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录如何提高Redis服务器的最大打开文件数限制问题诊断解决步骤1. 修改系统级别的限制2. 为Redis进程特别设置限制

MyBatis框架实现一个简单的数据查询操作

《MyBatis框架实现一个简单的数据查询操作》本文介绍了MyBatis框架下进行数据查询操作的详细步骤,括创建实体类、编写SQL标签、配置Mapper、开启驼峰命名映射以及执行SQL语句等,感兴趣的... 基于在前面几章我们已经学习了对MyBATis进行环境配置,并利用SqlSessionFactory核

服务器集群同步时间手记

1.时间服务器配置(必须root用户) (1)检查ntp是否安装 [root@node1 桌面]# rpm -qa|grep ntpntp-4.2.6p5-10.el6.centos.x86_64fontpackages-filesystem-1.41-1.1.el6.noarchntpdate-4.2.6p5-10.el6.centos.x86_64 (2)修改ntp配置文件 [r