Caddyfile 是 JSON 配置的易用写法,支持通常用的功能,完整功能还是需要 JSON 配置的。

以下适用于 Caddy2 版本的配置。

静态文件服务器

example.com

root * /var/www
file_server

通常第一行是站点地址,root 代表站点根路径,* 代表访问所有路径,也可以匹配其它路径,后面跟文件位置,最后开启文件服务器。

反向代理

代理所有请求:

example.com

reverse_proxy localhost:5000

代理 /api/ 路径的请求到指定地址,并开启静态文件服务器:

example.com

root * /var/www
reverse_proxy /api/* localhost:5000
file_server

PHP

在运行 PHP FastCGI 的服务下,适用大多数 PHP 应用:

example.com

root * /var/www
php_fastcgi /blog/* localhost:9000
file_server

自定义站点路径 * 和访问路径 /blog/*,本例假定所有 PHP 请求路径为 /blog/*,其它请求以静态文件服务。

php_fastcgi 实际上是一系列 扩展配置 的简写方式,如果 php_fastcgi 不适用你的站点,请参考扩展配置进行修改。

php_fastcgi 是为 PHP 应用量身定制的,针对单入口 index.php 而设计。

重定向 www. 子域

添加 www. 到 HTTP 重定向中:

example.com {
redir https://www.example.com{uri}
} www.example.com {
}

移除 www. 通过重定向到主域:

www.example.com {
redir https://example.com{uri}
} example.com {
}

末尾斜线

通常不需要自己配置,file_server 会根据访问的资源是 文件 还是 目录 自动添加和删除末尾斜线。

如果你需要,依然可以通过配置强制使用斜线,有两种方式:内部和外部。

内部强制,通过 rewrite 指令,重写加上或删除末尾斜线。

example.com

rewrite /add     /add/
rewrite /remove/ /remove

通过 rewrite 方式,带有斜线和不带斜线的请求是一样的。

外部强制,通过 redir 指令,Caddy 会让浏览器改变 URL 来加上和删除斜线。

example.com

redir /add     /add/
redir /remove/ /remove

使用重定向,客户端将必须重新发起请求,强制使用一个可接受 URL 的资源。

Caddyfile 结构Caddyfile 指令Request MatchersGlobal Options,Common Patterns

Ref:https://caddyserver.com/docs/caddyfile/patterns

Link:https://www.cnblogs.com/farwish/p/13098894.html

[Caddy2] The Caddy Web Server 常见 Caddyfile 模式的更多相关文章

  1. [转]php 在各种web服务器的运行模式

    一.php在apache中运行模式 php在apache中一共有三种工作方式:CGI模式.FastCGI模式.Apache 模块DLL) 以下分别比较: 1. CGI模式与模块模式比较: php在ap ...

  2. Web中间件 - 常见漏洞总结

    *文章来源:https://blog.egsec.cn/archives/472 *本文将主要说明:Web中间件常见漏洞的产生原因以及修复方案 什么是Web中间件? 百度百科是这样解释的:中间件是介于 ...

  3. 【转】推荐介绍几款小巧的Web Server程序

    原博地址:http://blog.csdn.net/heiyeshuwu/article/details/1753900 偶然看到几个小巧有趣的Web Server程序,觉得有必要拿来分享一下,让大家 ...

  4. Jexus-5.6.3使用详解、Jexus Web Server配置

    一.Jexus Web Server配置   在 jexus 的工作文件夹中(一般是“/usr/jexus”)有一个基本的配置文件,文件名是“jws.conf”. jws.conf 中至少有 Site ...

  5. paip.java 开发中web server的选择jboss resin tomcat比较..

    paip.java 开发中web server的选择jboss resin tomcat比较.. 作者Attilax  艾龙, EMAIL:1466519819@qq.com 来源:attilax的专 ...

  6. html-----018----HTML Web Server/HTML URL 字符编码

    HTML Web Server 如果希望向世界发布您的网站,那么您必须把它存放在 web 服务器上. 托管自己的网站 在自己的服务器上托管网站始终是一个选项.有几点需要考虑: 硬件支出 如果要运行“真 ...

  7. 小测几种python web server的性能

    http://blog.csdn.net/raptor/article/details/8038476 因为换了nginx就不再使用mod_wsgi来跑web.py应用了,现在用的是gevent-ws ...

  8. Django部署到Apache Web Server

    Windows环境下,将Django部署到Apache Web Server 在Windows上部署Django(用mod_wsgi)会出现各种奇怪的问题,现简单记录下配置过程及遇到的错误及解决方法. ...

  9. 动态 Web Server 技术发展历程

    动态 Web Server 技术发展历程 开始接触 Java Web 方面的技术,此篇文章是以介绍 Web server 相关技术的演变为主来作为了解 Java servlet 的技术背景,目的是更好 ...

  10. CSAPP Tiny web server源代码分析及搭建执行

    1. Web基础 webclient和server之间的交互使用的是一个基于文本的应用级协议HTTP(超文本传输协议). 一个webclient(即浏览器)打开一个到server的因特网连接,而且请求 ...

随机推荐

  1. 大模型应用开发:手把手教你部署并使用清华智谱GLM大模型

    部署一个自己的大模型,没事的时候玩两下,这可能是很多技术同学想做但又迟迟没下手的事情,没下手的原因很可能是成本太高,近万元的RTX3090显卡,想想都肉疼,又或者官方的部署说明过于简单,安装的时候总是 ...

  2. Three.js中加载和渲染3D Tiles

    1. 引言 3D Tiles 是 3D GIS 中常见的三维数据格式,能否用Three.js来加载渲染呢?肯定是可以,Three.js只是一个WebGL框架,渲染数据肯定可以,但是加载.解析数据得手动 ...

  3. npm create vue@latest 执行过程

    1. 引言 目前(2024年3月13日),打开Vue的官网,可以发现其推荐新建一个Vue项目的命令是npm create vue@latest,为啥这句命令就可以创建一个Vue项目呢 2. 执行过程 ...

  4. Newtonsoft.Json/Json.NET忽略序列化时的意外错误

    在.NET中Newtonsoft.Json(Json.NET)是我们常用来进行Json序列化与反序列化的库. 而在使用中常会遇到反序列化Json时,遇到不规则的Json数据解构而抛出异常. Newto ...

  5. 记录--开局一张图,构建神奇的 CSS 效果

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 假设,我们有这样一张 Gif 图: 利用 CSS,我们尝试来搞一些事情. 图片的 Glitch Art 风 在这篇文章中 --CSS 故障 ...

  6. 【已解决】Android----java.lang.NullPointerException:---java.lang.NullPointerException:

    2021-03-06 13:26:12.274 8544-8544/com.example.helloworld E/AndroidRuntime: FATAL EXCEPTION: main Pro ...

  7. 5W1H聊开源之Why——为什么要参与开源?

    中国开源的发展速度发展加快,个人和组织对于为开源作贡献有着前所未有的激情.据<2020年IT行业项目管理调查报告>,约四成受访者以自己开发开源项目.为他人提交项目代码.作为成员开发维护项目 ...

  8. windows下安装SASS

    window下安装ruby与sass(附ruby) webstorm设置sass自动编译,及参数配置 安装sass以及如何在sublime里使用 sublime text 3 配置sass环境 sub ...

  9. #双指针#洛谷 7521 [省选联考 2021 B 卷] 取模

    题目传送门 分析 将 \(a\) 排序后从大到小枚举 \(a_k\),注意枚举的时候重复的只考虑一次,那么可以将其它数按照模 \(a_k\) 后排序, 答案只可能来自最大值与次大值之和取模或者之和最接 ...

  10. #树形dp,二次扫描换根法#JZOJ 3501 消息传递 with others

    目录 JZOJ 3501 消息传递 题目 分析 代码 简单写就能跳过之题目 JZOJ 3500 物语 题目 分析 代码 JZOJ 3757 洛谷 2354 [NOI 2014] 随机数产生器 题目 分 ...