藍易雲 CDN:在 Linux 下用命令發送 HTTP 請求實戰指南 🔧
在日常運維藍易雲 CDN 節點時,經常需要在服務器上直接發起 <span style="color:red">HTTP 請求</span>:
- 排查某個節點是否命中緩存
- 驗證回源是否正常
- 做簡單 <span style="color:red">健康檢查</span> 或批量巡檢
這些場景用瀏覽器不方便,用 Linux 命令行反而更高效 🚀
下面圍繞幾條核心命令:curl、wget、httpie,講清楚在 Linux 下如何精準發送 HTTP 請求,並配上詳細解釋。
一、使用 curl 發送 HTTP 請求(重點掌握)
1. 最基礎的 GET 請求
curl -i https://www.example.com/
解釋:
curl:最常用的命令行 <span style="color:red">HTTP 客户端</span>,支持 GET / POST / PUT / DELETE 等多種方法。-i:同時輸出響應頭和響應體,方便查看 <span style="color:red">狀態碼</span>、響應頭(如Server、Via、CF-Cache-Status等)。https://www.example.com/:目標 URL,在藍易雲 CDN 場景中通常是業務域名或 CNAME 之後的域名。
運維場景:快速確認某個節點是否能正常訪問目標站點、是否返回 200。
2. 發送 JSON 格式 POST 請求(常用於接口調試)
curl -X POST "https://api.example.com/check" \
-H "Content-Type: application/json" \
-H "Host: cdn.example.com" \
-d '{"url":"https://www.test.com/","node":"edge-hk-01"}'
解釋:
-X POST:顯式指定 <span style="color:red">HTTP 方法為 POST</span>。-H "Content-Type: application/json":設置請求頭,告訴服務端請求體是 JSON。-
-H "Host: cdn.example.com":手動指定 <span style="color:red">Host 頭</span>,用於:- 在同一 IP 上模擬不同域名訪問;
- 回源調試、CDN 節點直連調試時非常關鍵。
-d '{...}':請求體內容,這裏是 JSON,用於傳遞參數。
藍易雲使用場景:模擬業務端調用內部接口、探測 API 節點是否工作正常。
3. 只看響應頭,檢查協議與緩存
curl -I --http2 https://www.example.com/
解釋:
-I:僅發送 HEAD 請求,只返回響應頭,不返回主體,適合快速查看 <span style="color:red">狀態碼、協議版本、緩存命中情況</span>。--http2:強制使用 <span style="color:red">HTTP/2</span>,可以驗證節點是否已開啓 HTTP/2 支持。- 常配合查看:
server、via、x-cache、cf-cache-status、age等字段,判斷是否命中 CDN 緩存。
4. 查看完整調試信息(排查連接問題)
curl -v https://www.example.com/
解釋:
-
-v:輸出詳細調試信息,包括:- DNS 解析過程
- TCP/TLS 握手
- 發送的請求頭
- 接收到的響應頭
-
適合排查:
- 是否被某一段網絡丟包
- TLS 握手失敗
- 請求被重定向了幾次
5. 只關心狀態碼,用於腳本監控
curl -s -o /dev/null -w "%{http_code}\n" https://www.example.com/health
解釋:
-s:靜默模式,不打印進度條等多餘信息。-o /dev/null:丟棄響應體內容,只關注結果。-w "%{http_code}\n":僅輸出 <span style="color:red">HTTP 狀態碼</span>,非常適合結合bash/cron做健康檢查腳本。
二、使用 wget 發送 HTTP 請求(偏向下載場景)
1. 下載並查看響應頭
wget -S -O - https://www.example.com/file.txt
解釋:
wget:更偏向 <span style="color:red">下載文件</span> 的工具。-S:顯示服務器響應頭,便於判斷是否經由 CDN、是否命中緩存。-O -:將內容輸出到標準輸出,而不是保存成本地文件,方便在終端中直接查看結果或管道給其他命令。
實際業務中,wget 更適合做大文件下載測試、回源壓力驗證。
三、使用 httpie 發送 HTTP(語法更直觀,可選安裝)
如果更追求「可讀性」,可以安裝 httpie:
http GET https://www.example.com/ User-Agent:'BlueEasy-Check/1.0'
解釋:
http:httpie提供的命令,比curl語法更貼近“自然語言”。GET:直接寫在命令裏,表示請求方法。User-Agent:'BlueEasy-Check/1.0':設置 UA 頭,便於在日誌中識別是 <span style="color:red">巡檢流量</span>。
在複雜調試場景中,這種寫法比 curl -H 連續堆參數更清晰。
四、常用 HTTP 命令對比表(便於選型)📊
| 工具 | 適用場景 | 優勢亮點 |
|---|---|---|
| <span style="color:red">curl</span> | 日常調試、接口聯調、腳本調用、CDN 節點探活 | 功能最全,支持各種協議、方法和自定義頭,強烈建議重點掌握 |
| <span style="color:red">wget</span> | 大文件下載、鏡像拉取、簡單 HTTP 檢測 | 下載能力強,斷點續傳方便,日誌直觀 |
| <span style="color:red">httpie</span> | 需要高可讀性的接口調試場景 | 命令結構清晰、輸出格式美觀,適合頻繁人工調試 |
五、Linux 命令發送 HTTP 的工作流程圖(vditor 兼容)
整體來説,掌握好 curl 這一把“瑞士軍刀”,再根據場景補充 wget 和 httpie,基本就能覆蓋藍易雲 CDN 日常的絕大多數 <span style="color:red">HTTP 調試、監控與巡檢</span> 需求 ✅。
在生產環境中,建議將這些命令封裝成標準腳本,對關鍵業務域名做定時探測,出問題能第一時間定位到是哪一段鏈路表現異常。