caddy server

caddy server 的常用用法

Caddy是一款轻量的Web服务器,其配置也十分简单,并且集成了对Lets Encrypt的支持,这意味着可以实现自动SSL。

Caddy也是一个功能强大的Web服务器,支持了几乎所有的功能,包括反向代理、静态文件服务器、cgi、及各种中间件的支持。

自动SSL

使用Caddy进行自动SSL是十分容易的。这里以一个简单的反向代理举例:

path.to.your.site {
    reverse_proxy 127.0.0.1:3000
}

仅需要三行内容,即可实现一个简单的反向代理服务器,并且实现了自动SSL,及一个从80端口跳转到443端口的简单服务器。
如果你并不需要https,那么仅需显示标明即可:

http://path.to.your.site {
    reverse_proxy 127.0.0.1:3000
}

如上即可取消Caddy自带的SSL功能。

优化

优化一下传输,可以加快网站的加载速度,减少网站出口流量,能更好的提升体验。

最最常见的就是gzip压缩了。
Caddy中使用gzip非常简单:

path.to.your.site {
    encode gzip
    ...
}

如上,使用encode关键字与gzip即可开启gzip压缩功能。
同时Caddy也提供了zstd的支持:

path.to.your.site {
    encode gzip zstd
    ...
}

如上即可同时开启gzipzstd

反向代理

在前面的内容中,我已经使用了一个简单的反向代理的例子:

path.to.your.site {
    reverse_proxy 127.0.0.1:3000
}

当然,这是一个十分简单的实现,如果想要更加高级的功能,如负载均衡等等,也是可以的:

path.to.your.site {
    reverse_proxy /api/* node1:3000 node2:3000
}

上面的这个例子就简单的实现了一个匹配url并进行反向代理的web服务器。

更详细的配置可以参考Caddy的官方文档
这里简单贴一下:

reverse_proxy [<matcher>] [<upstreams...>] {
    # backends
    to <upstreams...>
    ...

    # load balancing
    lb_policy       <name> [<options...>]
    lb_try_duration <duration>
    lb_try_interval <interval>

    # active health checking
    health_path     <path>
    health_port     <port>
    health_interval <interval>
    health_timeout  <duration>
    health_status   <status>
    health_body     <regexp>

    # passive health checking
    fail_duration     <duration>
    max_fails         <num>
    unhealthy_status  <status>
    unhealthy_latency <duration>
    unhealthy_request_count <num>

    # streaming
    flush_interval <duration>

    # header manipulation
    header_up   [+|-]<field> [<value|regexp> [<replacement>]]
    header_down [+|-]<field> [<value|regexp> [<replacement>]]

    # round trip
    transport <name> {
        ...
    }
}
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
下一篇