作為新興 Web 服務(wù)器血柳,Caddy 提供了很多簡單易用的功能而沒有歷史的包袱迹恐,其默認(rèn)支持并且能幫你自動配置 HTTP/2逗载、HTTPS批什,對于 IPV6、WebSockets 都有很好的支持社搅∽ふ基于 Go 編寫的 Caddy 天生對于多核具有很好的支持,并且其豐富的插件系統(tǒng)提供了文件管理形葬、文件上傳合呐、基于 MarkDown 的博客系統(tǒng)等等開箱即用的擴(kuò)展功能。
我們可以在官方下載界面選擇你需要的插件功能定制個性化二進(jìn)制文件笙以,下載完畢之后即可以使用caddy命令直接運(yùn)行淌实。其默認(rèn)監(jiān)聽 2015 端口,在瀏覽器中打開 http://localhost:2015 即可以查看其運(yùn)行情況。我們也可以通過-conf
參數(shù)指定配置文件:
$ caddy -conf="/path/to/Caddyfile"
- 運(yùn)行命令caddy, -conf 指定 Caddyfile 文件地址
- 如在 Caddyfile 所在目錄打開命令行拆祈,直接執(zhí)行 caddy 即可
站點(diǎn)配置(Caddyfile文件解析)
典型的 Caddyfile 配置文件如下所示:
localhost:80
gzip
browse
ext .html
log access.log
proxy / localhost:3006
proxy /services 10.110.200.38:9982
proxy /**/fae 10.110.200.29:8888
proxy /openapi 10.110.200.38:8088 {
header_upstream Authorization e6c2c868b0acc851f0657fbe9faf3fb9d00d5306
}
- 每個 Caddyfile 的第一行必須描述其服務(wù)的地址:
localhost:80
- 之后的每一行都是官方提供的指令恨闪,譬如我們需要為服務(wù)器添加 gzip 壓縮支持,只需要直接添加一個指令:
gzip
- 反向代理(匹配請求地址放坏,代理到后臺服務(wù)器)
proxy / localhost:3006
proxy /services 10.110.200.38:9982
proxy /**/fae 10.110.200.29:8888
proxy /openapi 10.110.200.38:8088 {
header_upstream Authorization e6c2c868b0acc851f0657fbe9faf3fb9d00d5306
}
- 跨域請求
cors / {
origin http://allowedSite.com
origin http://anotherSite.org https://anotherSite.org
methods POST,PUT
allow_credentials false
max_age 3600
allowed_headers X-Custom-Header,X-Foobar
exposed_headers X-Something-Special,SomethingElse
}