安裝
curl https://getcaddy.com | bash -s personal
caddy從目前的目錄的Caddyfile(默認)檔中讀取配置,當然你也可以通過-conf指定設定檔路徑
設定範例如下
# /api 的請求直接跳轉到本機 Port 8088
proxy /api localhost:8088
#反向代理
proxy / web1:80 web2:80 web3:80
:80 {
gzip
proxy / http://192.168.1.8:80
}
#域名反向代理(已有SSL證書)
tonyhack.asuscomm.com {
gzip
tls /root/xxx.crt /root/xxx.key
proxy / https://www.itnotetk.com
}
#域名反向代理(無SSL證書) [email protected] 改成你的信箱同時需要注意的是,申請 SSL證書前,請務必提前解析好功能變數名稱記錄(解析後最好等一會,以全球生效),否則 Caddy會申請並配置失敗!
tonyhack.asuscomm.com {
gzip
tls [email protected]
proxy / https://www.itnotetk.com
}
#執行動態網頁
fastcgi / 127.0.0.1:9000 php
#執行Websocket
example.com {
gzip
root /var/www/example.com/www
proxy / http://127.0.0.1:8360 {
websocket
transparent
except static
}
}
#多站點配置
//Caddyfile
foo.com:80 {
log ./foo.log
gzip
}
bar.com:80 {
log ./bar.log
gzip
}
#負載均衡配置
localhost:2015 {
log ./2015.log
proxy / localhost:9001 localhost:9003 {
policy round_robin
}
proxy /bar localhost:9002 localhost:9004 {
policy least_conn
}
}
#web設定檔範例
tonyhack.asuscomm.com { # 填寫網域才會自動產生 SSL 憑證,localhost 就只會有 HTTP
root /var/www # 網站根目錄
gzip # 網頁壓縮
header /assets { # 加入檔頭,指定 assets 路徑下
Cache-Control "max-age=604800" # 控制瀏覽器快取,壽命一週
}
}

啟動服務
caddy -conf /root/Caddyfile
預設沒設定檔會是2015port

