安裝
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