簡(jiǎn)單粗暴的Caddy Server 使用介紹
Caddy是一個(gè)Go寫的服務(wù)器軟件,官方的宣傳語(yǔ)“The HTTP/2 web server with automatic HTTPS”以及“Serve The Web Like It's 2016”簡(jiǎn)明表達(dá)了這個(gè)軟件的優(yōu)點(diǎn)和趨勢(shì),它擁有基本的apache或者nginx有的web server模塊,同時(shí)還有一些很有特色的功能,比如:
HTTP/2
Automatic HTTPS
Multi-core
Websockets
Markdown
IPv6
Git
…...
用Caddy我們就可以很方便的部署一個(gè)Markdown文本作為靜態(tài)網(wǎng)站訪問(wèn),或者它的Git指令完成代碼的自動(dòng)化部署,當(dāng)然它很大的特色就是它的語(yǔ)法非常簡(jiǎn)潔,比nginx還要簡(jiǎn)單,配置部署起來(lái)很方便,下面隨便舉幾個(gè)例子吧。
對(duì)網(wǎng)站添加BasicAuth,用戶名ryan,密碼 12345
basicauth / ryan 12345
用CORS解決跨域問(wèn)題
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
}
IP過(guò)濾
ipfilter / {
rule block
ip 212.10.15.0-255 213.10.15.0-10 5.23.4.24
blockpage /local/data/default.html
}
HTTPS 配置
tls ../cert.pem ../key.pem
實(shí)在太簡(jiǎn)單了配置起來(lái),具體還有其他簡(jiǎn)潔到哭的指令可以看官方的User Guide,很快就刷完了。
既然Caddy自動(dòng)部署https,而且是通過(guò)Let's Encrypt,那么就實(shí)踐一下,本博客是用Ghost 搭建,Nginx代理的,現(xiàn)在就改用Caddy,并支持https,步驟大體如下:
證書申請(qǐng)請(qǐng)移步
Caddy 安裝很簡(jiǎn)單,直接下載 https://caddyserver.com/docs/getting-started
配置Caddyfile,看起來(lái)指令簡(jiǎn)潔明了
https://www.yuansir-web.com, http://www.yuansir-web.com, http://yuansir-web.com {
redir https://yuansir-web.com{uri}
tls yuansir88@gmail.com
}
https://yuansir-web.com {
gzip
errors {
log /var/log/caddy/yuansir-web.error.log {
size 50
age 30
keep 5
}
}
log /var/log/caddy/yuansir-web.access.log
tls yuansir88@gmail.com
proxy / http://127.0.0.1:2368 {
proxy_header X-Real-IP {remote}
proxy_header HOST {host}
proxy_header X-Forwarded-Proto {scheme}
}
}
用supservisor來(lái)管理Caddy運(yùn)行
[program:caddy] command=/usr/bin/caddy -conf="/var/www/Caddyfile" directory=/var/www ; directory to cwd to before exec (def no cwd) autostart=true ; start at supervisord start (default: true) autorestart=unexpected ; whether/when to restart (default: unexpected) startsecs=1 ; number of secs prog must stay running (def. 1) startretries=3 ; max # of serial start failures (default 3) exitcodes=0,2 ; 'expected' exit codes for process (default 0,2) stopsignal=QUIT ; signal used to kill process (default TERM) stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10) stopasgroup=false ; send stop signal to the UNIX process group (default false) user=www ; setuid to this UNIX account to run the program redirect_stderr=true ; redirect proc stderr to stdout (default false) stdout_logfile=/var/log/caddy.log ; stdout log path, NONE for none; default AUTO stderr_logfile=/var/log/caddyerr.log ; stderr log path, NONE for none; default AUTO
將網(wǎng)站的靜態(tài)資源CDN換成支持https的CDN
好了,就這么簡(jiǎn)單,Nginx切換成Caddy,并支持https了,真是多快好省。
相關(guān)文章
用rsync實(shí)現(xiàn)windows與linux文件同步的方法
windows做為文件服務(wù)器,使用rsync的windows服務(wù)版本,然后配置好就可以了。需要的朋友可以參考下。2011-02-02
構(gòu)建基于虛擬用戶的vsftpd服務(wù)器應(yīng)用
這篇文章主要介紹了構(gòu)建基于虛擬用戶的vsftpd服務(wù)器應(yīng)用,需要的朋友可以參考下2017-05-05
Centos7使用docker搭建gitlab服務(wù)器
這篇文章主要為大家詳細(xì)介紹了Centos7使用docker搭建gitlab服務(wù)器,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04
生產(chǎn)服務(wù)器突然本機(jī)無(wú)法訪問(wèn)本機(jī)IP的端口的問(wèn)題及解決方法
生產(chǎn)服務(wù)器突然無(wú)法訪問(wèn)自己本機(jī)IP地址的端口,通過(guò)localhost或者127.0.0.1都可以正常訪問(wèn),本文給大家分享生產(chǎn)服務(wù)器突然本機(jī)無(wú)法訪問(wèn)本機(jī)IP的端口的問(wèn)題及解決方法,感興趣的朋友一起看看吧2023-11-11
使用SSH遠(yuǎn)程連接Ubuntu服務(wù)器系統(tǒng)的方法
這篇文章主要介紹了使用SSH遠(yuǎn)程連接Ubuntu服務(wù)器系統(tǒng),本教程是為了配置ssh服務(wù),可以將Ubuntu系統(tǒng)遠(yuǎn)程通過(guò)cmd或者windows Powershell登錄,就可以實(shí)現(xiàn)代碼復(fù)制功能,需要的朋友可以參考下2023-11-11
Deployment副本無(wú)狀態(tài)服務(wù)創(chuàng)建及水平擴(kuò)展
這篇文章主要為大家介紹了Deployment副本無(wú)狀態(tài)服務(wù)及水平擴(kuò)展,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-03-03

