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. 直播预约 | 邀您共同探讨“云XR技术如何改变元宇宙的虚拟体验”

    随着数字化时代的到来,元宇宙成为了人们关注的焦点.它是一个虚拟的世界,融合了现实与虚拟的元素,让人们可以以全新的方式进行交互.创作和体验. 云XR技术是元宇宙建设的重要支撑技术之一,元宇宙需要具备高度 ...

  2. 除gRPC之外的另一个选择,IceRPC-支持QUIC

    作者引言 自从19年开始接处到RPC,当时完全没有相关概念,接触到的都是http,tcp等,当时公司用的是zeroc出品的ice框架,对应rpc非常强大,跨平台,跨语言.可惜的国内并不是主流,主流是g ...

  3. 记录--canvas基础操作

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 1. 以下是一些有关使用Canvas的技巧: 绘制基本形状:Canvas可以用于绘制各种基本形状,如矩形.圆形.线条等.使用 fillRe ...

  4. 优化Mysql配置调整内存

    1.查看Mysql版本 # mysql -V 示例: [root@root /]# mysql -V mysql Ver 14.14 Distrib 5.7.44, for Linux (x86_64 ...

  5. mysql mysqldump 命令导出

    1.导出指定表的数据 mysqldump -t database -u user -p  --table_name1 table_name2 table_name3 >C:\db_script. ...

  6. date_histogram,es按照时间分组统计

    日期直方图聚合(date_histogram) 与histogram相似,es中内部将日期表示为一个long值,所以有时候可以用histogram来达到相同的目的,但往往没有date_histogra ...

  7. KingbaseES数据库改写SQL Server数据库CROSS APPLY和OUTER APPLY

    一.功能介绍: CROSS APPLY和OUTER APPLY是SQL Server中的一种连接操作,类似于JOIN语句可以将一张表与一个表函数或一个子查询进行关联.表函数是一种返回一个表类型的数据的 ...

  8. KingbaseES 语句like前匹配如何使用索引

    前言 有现场同事反馈 sql语句 like 使用后缀通配符 % 不走索引. 至于执行计划没走索引的原因与KingbaseES数据库中的排序规则相关. 测试 测试环境: KingbaseESV8R6C7 ...

  9. HashMap对key或value进行排序--Java--小白必懂2

    HashMap对key进行排序 public static void main (String[]args){ HashMap<String, Integer> map = new Has ...

  10. N次剩余小记

    前言 上周在 51nod 交了一些3.4级的题目,然后发现没有写过1级题, 就找到了一道 51nod 1014 \(X^2 \bmod P\) 的题目,当然这题虽然是暴力,但也可以用二次剩余做. 我就 ...