• [Caddy2] The Caddy Web Server 常见 Caddyfile 模式


    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

  • 相关阅读:
    python_day3
    python-day2
    python-day1
    【收集】安卓手机在市场占比的网址查找
    while循环
    switch多选择结构
    if选择结构
    顺序结构
    Scanner:求和 、求平均值
    Scanner:用户交互
  • 原文地址:https://www.cnblogs.com/farwish/p/13098894.html
Copyright © 2020-2023  润新知