高效文件共享:使用Caddy打造快速、安全的File Server
文章目录
前言
在跨平台文件同步利器:使用Caddy搭建WebDav实现多设备间的无缝文件共中讲了如何使用 caddy
搭建 WebDav
服务,今天就来学一下如何在 caddy
中搭建静态文件服务器。
静态服务器
搭建一个静态服务器需要使用到 file_server
这个插件,这个插件是内置的,只要安装好了 caddy
就能够直接使用。
来编写 Caddyfile
文件
|
|
编写好了使用 caddy start --config ./Caddyfile
来启动 caddy
然后在浏览器中输入 127.0.0.1
就能访问到 ~/www/index.html
的文件了
显示文件列表
在上一步中我们实现了一个简单的静态文件服务器,默认会访问根目录的 index.html
文件,如果根目录下没有这个文件那么访问会报错,会提示找不到这个文件。
这时候我希望可以查看这个文件夹下的文件列表,而不是报错,这时候就需要通过添加 browse
参数来显示文件列表,如下所示
|
|
这时候 www
目录下没有 index.html
就会把目录下的所有文件给列出来了。
增加密码验证
上面两步实现了一个静态文件服务器和展示文件列表,但是这样不安全。
所以希望能够加入账号和密码进行验证,只有验证成功才能访问。
这时候可以通过配置 basicauth
这个插件来达到安全访问的目的。如下所示
|
|
其中密码需要使用 caddy hash-password username
来生成,把生成好的密码替换掉 Caddyfile
中的 pwd
。
接着重新运行 caddy
,然后访问就会提示你需要输入密码了。
简单的命令行操作
有时候只是简单的提供一下文件访问的功能,不想写 Caddyfile
可以通过命令行来快速提供服务
caddy file-server
会以当前目录作为站点的根目录运行静态服务器caddy file-server --listen :8080
指定运行在8080
端口caddy file-server --browse
支持显示文件列表caddy file-server --root ~/www
指定网站的根目录
总结
本文讲了如何使用 caddy
搭建一个静态服务器,并且配置显示文件列表、密码验证和命令行的简单操作。
可以看到在 caddy
中搭建一个静态服务器还是非常简单方便的。