Caddy一款能自动HTTPS 功能,用来搭建静态网站、代理或反向代理、API 应用程序

以下是 Caddy 部署搭建及相关命令的 50 个实例:

  1. 安装 Caddy:

    https://caddyserver.com/docs/install#debian-ubuntu-raspbian
    
  2. 启动 Caddy:

    caddy start
    
  3. 停止 Caddy:

    caddy stop
    
  4. 重新加载 Caddy 配置:

    caddy reload
    
  5. 查看 Caddy 日志:

    journalctl -u caddy.service --no-pager
    
  6. 使用 Caddyfile 配置文件启动 Caddy:

    caddy run --config /path/to/Caddyfile
    
  7. 使用 JSON 配置文件启动 Caddy:

    caddy run --config /path/to/caddy.json
    
  8. 使用 YAML 配置文件启动 Caddy:

    caddy run --config /path/to/caddy.yaml
    
  9. 检查 Caddyfile 是否有语法错误:

    caddy validate --config /path/to/Caddyfile
    
  10. 使用自定义插件启动 Caddy:

    caddy run --plugin myplugin=<path>
    
  11. 使用 TLS-SNI-01 插件启用自定义 ACME CA:

    caddy run --acme-ca http://myca.example.com --acme-ca-sni-01
    
  12. 使用 DNS 插件启用自定义 ACME CA:

    caddy run --acme-ca http://myca.example.com --acme-ca-dns <provider>
    
  13. 启用 HTTP 服务:

    localhost
    
    # 或者
    http://localhost
    
  14. 启用 HTTPS 服务:

    https://example.com
    
  15. 启用 HTTP2:

    localhost {
        http2
    }
    
  16. 启用自动 HTTPS:

    example.com {
        tls {
            on_demand
        }
    }
    
  17. 启用 TLS 插件:

    https://example.com {
        tls {
            cert_file /path/to/cert.pem
            key_file /path/to/key.pem
        }
    }
    
  18. 使用 Let’s Encrypt 启动自动 HTTPS:

    https://example.com {
        tls {
            dns cloudflare
        }
    }
    
  19. 使用 ACME DNS-01 验证启用证书:

    https://example.com {
        tls {
            dns cloudflare
        }
    }
    
  20. 启用 gzip 压缩:

    https://example.com {
        encode gzip
    }
    
  21. 设置默认重定向:

    http://example.com {
        redir https://{host}{uri}
    }
    
  22. 自定义错误页面:

    http://example.com {
        errors {
            404 /custom_error.html
        }
    }
    
  23. 启用访问日志:

    http://example.com {
        log {
            output file /var/log/access.log
        }
    }
    
  24. 启用错误日志:

    http://example.com {
        log {
            output file /var/log/error.log {
                roll_size 10MiB
            }
        }
    }
    
  25. 启用反向代理:

    http://example.com {
        reverse_proxy localhost:8080
    }
    
  26. 使用自定义 HTTP 请求头:

    http://example.com {
        header {
            X-My-Header "My value"
        }
    }
    
  27. 使用自定义响应头:

    http://example.com {
        header / {
            X-Frame-Options "SAMEORIGIN"
        }
    }
    
  28. 使用 rewrite 插件重写 URL:

    http://example.com {
        rewrite /api/* /v1{uri}
    }
    
  29. 使用 uri 来匹配 URL:

    http://example.com {
        uri /api/*
        reverse_proxy localhost:8080
    }
    
  30. 使用 path_regexp 来匹配 URL:

    http://example.com {
        @api path_regexp ^/api/.*
        reverse_proxy localhost:8080
    }
    
  31. 监听 Unix 套接字:

    unix//var/run/caddy.sock
    
    # 或者
    unix:///var/run/caddy.sock
    
  32. 监听 TCP 端口:

    localhost:3000
    
  33. 监听多个域名:

    http://example.com, https://www.example.com {
        ...
    }
    
  34. 启用 WebDAV:

    http://example.com {
        root /srv/webdav
        webdav
    }
    
  35. 启用 Markdown 处理:

    http://example.com {
        markdown /docs
    }
    
  36. 启用 PHP 处理:

    http://example.com {
        php_fastcgi localhost:9000
    }
    
  37. 使用 basicauth 插件启用基本认证:

    https://example.com {
        basicauth / user1 password1
        reverse_proxy localhost:8080
    }
    
  38. 使用 jwt 插件启用 JWT 认证:

    https://example.com {
        jwt {
            path /api/*
            allow sub user1
        }
        reverse_proxy localhost:8080
    }
    
  39. 使用 rate_limit 插件启用速率限制:

    https://example.com {
        rate_limit {
            key remote_ip
            limit 10
            burst 20
        }
        reverse_proxy localhost:8080
    }
    
  40. 使用 header_up 插件修改请求头:

    https://example.com {
        header_up X-Forwarded-For {remote}
        reverse_proxy localhost:8080
    }
    
  41. 使用 header_down 插件修改响应头:

    https://example.com {
        header_down Server "My Server"
        reverse_proxy localhost:8080
    }
    
  42. 使用 log_replacer 插件替换日志记录:

    https://example.com {
        log_replacer {
            obfuscate_field email
        }
        reverse_proxy localhost:8080
    }
    
  43. 使用 rewrite 插件重写 URL:

    https://example.com {
        rewrite * /{http.matchers.file.relative}
        file_server browse
    }
    
  44. 使用 handle 插件处理请求:

    https://example.com {
        handle /api/* {
            reverse_proxy localhost:8080
        }
        handle /admin/* {
            basicauth /admin user1 password1
            file_server
        }
        file_server browse
    }
    
  45. 使用 redir 插件重定向请求:

    https://example.com {
        redir /old-url /new-url
        file_server browse
    }
    
  46. 使用 jwt 插件实现访问控制:

    https://example.com {
        jwt {
            path /api/*
            allow roles admin
            deny roles guest
        }
        reverse_proxy localhost:8080
    }
    
  47. 使用 header 插件添加响应头:

    https://example.com {
        header / {
            X-Content-Security-Policy "default-src 'self'"
        }
        reverse_proxy localhost:8080
    }
    
  48. 使用 markdown 插件转换 Markdown 文件:

    https://example.com {
        markdown /docs
        file_server browse
    }
    
  49. 使用 gzip 插件压缩文件:

    https://example.com {
        gzip {
            level 6
        }
        file_server browse
    }
    
  50. 使用 basicauth 插件实现基本认证:

    https://example.com {
        basicauth / user1 password1
        reverse_proxy localhost:8080
    }
    

这些实例涵盖了 Caddy 部署搭建及相关命令的许多不同用法和场景。您可以将它们作为参考来配置、优化和管理您的 Caddy 服务器。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hhb_618

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值