Linux使用Caddy實(shí)現(xiàn)反向代理本地localhost:8301全流程
你想在Linux中使用Caddy實(shí)現(xiàn)對(duì)本地 localhost:8301 服務(wù)的反向代理,核心是通過配置 Caddyfile 實(shí)現(xiàn),步驟清晰易懂,包含安裝、配置、啟動(dòng)全流程,具體如下:
一、前提準(zhǔn)備:安裝Caddy(Linux系統(tǒng)通用)
先安裝Caddy Web服務(wù)器,推薦官方一鍵安裝腳本(支持Ubuntu/Debian/CentOS等主流系統(tǒng)):
# 官方一鍵安裝命令 curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list sudo apt update && sudo apt install caddy -y
安裝完成后,可通過 caddy version 驗(yàn)證是否安裝成功。
二、核心步驟:配置Caddyfile(實(shí)現(xiàn)反向代理)
Caddy的配置核心是 Caddyfile,默認(rèn)路徑為 /etc/caddy/Caddyfile,也可自定義配置文件,下面提供兩種配置方式(任選其一):
方式1:使用默認(rèn)配置文件(推薦,系統(tǒng)級(jí)部署)
編輯默認(rèn)Caddyfile:
sudo vim /etc/caddy/Caddyfile
替換為反向代理配置(核心配置,適配兩種訪問場景):
# 場景1:通過服務(wù)器公網(wǎng)IP/域名訪問(如你的服務(wù)器IP是1.2.3.4,域名是yourdomain.com)
# 此處填寫你的公網(wǎng)IP或已解析的域名(兩者可同時(shí)填寫,用逗號(hào)分隔)
yourdomain.com, 1.2.3.4 {
# 核心反代指令:轉(zhuǎn)發(fā)所有請(qǐng)求到本地8301端口
reverse_proxy localhost:8301
# 可選:添加基礎(chǔ)配置,提升穩(wěn)定性
encode gzip # 開啟gzip壓縮,優(yōu)化訪問速度
header {
# 允許跨域訪問(若前端需要,可開啟)
Access-Control-Allow-Origin *
}
}
# 場景2:僅本地訪問(無需公網(wǎng)IP/域名,僅服務(wù)器內(nèi)部或端口映射后訪問)
# :80 表示監(jiān)聽服務(wù)器80端口(可改為其他端口,如:8080)
:80 {
reverse_proxy localhost:8301 # 核心反代指令,指向本地8301
encode gzip
}
- 配置說明:
reverse_proxy localhost:8301:這是實(shí)現(xiàn)反向代理的核心指令,Caddy會(huì)將接收到的所有請(qǐng)求轉(zhuǎn)發(fā)到本地localhost:8301服務(wù),并將響應(yīng)結(jié)果返回給客戶端。- 若只需簡單反代,保留
reverse_proxy localhost:8301即可,其他配置為可選優(yōu)化。 - 監(jiān)聽端口:默認(rèn)80端口(HTTP),若需HTTPS(自動(dòng)配置證書),只需填寫已解析的域名(Caddy會(huì)自動(dòng)申請(qǐng)Let’s Encrypt證書)。
方式2:自定義配置文件(靈活部署,適合臨時(shí)測試)
在任意目錄創(chuàng)建自定義Caddyfile(如 ~/caddy/Caddyfile):
mkdir -p ~/caddy && vim ~/caddy/Caddyfile
寫入最簡反代配置(臨時(shí)測試用):
# 監(jiān)聽本地8080端口,反代到localhost:8301
:8080 {
reverse_proxy localhost:8301
}
三、啟動(dòng)Caddy服務(wù),使配置生效
根據(jù)配置文件類型,選擇對(duì)應(yīng)的啟動(dòng)命令,確保反代功能正常運(yùn)行:
1. 使用默認(rèn)配置文件(/etc/caddy/Caddyfile)
# 啟動(dòng)Caddy服務(wù),并設(shè)置開機(jī)自啟 sudo systemctl start caddy sudo systemctl enable caddy # 查看服務(wù)狀態(tài),確認(rèn)無報(bào)錯(cuò) sudo systemctl status caddy # 若修改配置后,重新加載配置(無需重啟服務(wù)) sudo systemctl reload caddy
2. 使用自定義配置文件
# 進(jìn)入自定義Caddyfile所在目錄 cd ~/caddy # 啟動(dòng)Caddy(指定配置文件) # 前臺(tái)運(yùn)行(測試用,關(guān)閉終端則停止) caddy run --config Caddyfile # 后臺(tái)運(yùn)行(生產(chǎn)用,不受終端關(guān)閉影響) caddy start --config Caddyfile # 重新加載配置(修改配置后無需停止服務(wù)) caddy reload --config Caddyfile # 停止后臺(tái)運(yùn)行的Caddy caddy stop
四、驗(yàn)證反向代理是否成功
- 確保本地
localhost:8301服務(wù)已啟動(dòng)(若未啟動(dòng),先啟動(dòng)該服務(wù))。 - 驗(yàn)證方式:
- 若配置了公網(wǎng)IP/域名:在本地瀏覽器訪問
http://你的公網(wǎng)IP或http://yourdomain.com,若能正常顯示localhost:8301服務(wù)的內(nèi)容,說明反代成功。 - 若配置了本地端口(如:8080):在服務(wù)器上執(zhí)行
curl http://localhost:8080,或在本地(需端口映射)訪問http://服務(wù)器IP:8080,能獲取8301端口的響應(yīng)即成功。
- 若配置了公網(wǎng)IP/域名:在本地瀏覽器訪問
- 排查問題:若訪問失敗,可通過
sudo journalctl -u caddy -f查看Caddy日志,定位錯(cuò)誤原因(如端口被占用、8301服務(wù)未啟動(dòng)等)。
五、關(guān)鍵注意事項(xiàng)
端口放行:若使用80/443端口(默認(rèn)HTTP/HTTPS端口),需確保服務(wù)器防火墻/安全組放行對(duì)應(yīng)端口:
# Ubuntu/Debian 放行80端口 sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw reload
HTTPS自動(dòng)配置:只需在Caddyfile中填寫已解析到服務(wù)器IP的域名,Caddy會(huì)自動(dòng)申請(qǐng)并續(xù)期SSL證書,無需手動(dòng)配置,將 http 自動(dòng)重定向到 https。
反代高級(jí)配置:若需路徑轉(zhuǎn)發(fā)(如 /api 轉(zhuǎn)發(fā)到 localhost:8301/api),無需額外配置,Caddy默認(rèn)保留完整路徑;若需修改路徑,可參考:
yourdomain.com {
reverse_proxy localhost:8301 {
# 將 /api/* 轉(zhuǎn)發(fā)到 /v1/api/*(示例)
rewrite /api/* /v1{uri}
}
}
總結(jié)
- 核心指令:
reverse_proxy localhost:8301是實(shí)現(xiàn)Caddy反代本地8301端口的關(guān)鍵。 - 配置文件:默認(rèn)路徑
/etc/caddy/Caddyfile(系統(tǒng)級(jí)),也可自定義配置文件靈活部署。 - 啟動(dòng)方式:默認(rèn)配置用
systemctl start caddy,自定義配置用caddy run/start --config 配置文件路徑。 - 驗(yàn)證:通過瀏覽器或
curl訪問Caddy監(jiān)聽的端口/域名,確認(rèn)能否獲取8301服務(wù)的響應(yīng)。
以上就是Linux使用Caddy實(shí)現(xiàn)反代本地localhost:8301的詳細(xì)內(nèi)容,更多關(guān)于Linux Caddy反代本地localhost:8301的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
詳解linux中nginx啟動(dòng) 重啟 關(guān)閉命令
本篇文章主要介紹了詳解linux中nginx啟動(dòng) 重啟 關(guān)閉命令,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-02-02
Linux系統(tǒng)下如何實(shí)現(xiàn)修改主機(jī)名
這篇文章主要介紹了Linux系統(tǒng)下如何實(shí)現(xiàn)修改主機(jī)名問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02
Apeache啟動(dòng)不成功時(shí),用命令行檢測的方法
下面小編就為大家?guī)硪黄狝peache啟動(dòng)不成功時(shí),用命令行檢測的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09
Linux實(shí)現(xiàn)多個(gè)JDK版本切換
這篇文章主要介紹了Linux實(shí)現(xiàn)多個(gè)JDK版本切換方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2026-03-03
寶塔Linux面板之好用免費(fèi)的中文Linux VPS主機(jī)控制面板適合快速建站
本篇文章主要介紹了寶塔Linux面板之好用免費(fèi)的中文Linux VPS主機(jī)控制面板適合快速建站,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07
Ubuntu如何修改時(shí)區(qū)為UTC/CST時(shí)間
這篇文章主要介紹了Ubuntu如何修改時(shí)區(qū)為UTC/CST時(shí)間問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07
Linux系統(tǒng)快照與回滾的實(shí)現(xiàn)方法
在現(xiàn)代Linux系統(tǒng)運(yùn)維和開發(fā)中,系統(tǒng)快照(Snapshot)與回滾(Rollback) 已成為保障系統(tǒng)穩(wěn)定性和數(shù)據(jù)安全的核心技術(shù),本文將從底層原理出發(fā),深入講解Linux下主流的快照與回滾實(shí)現(xiàn)方式,需要的朋友可以參考下2026-05-05

