源站存在安全防護(hù)等原因?qū)е略L問CDN域名報503錯誤
問題描述
源站使用CDN加速后,訪問域名報503錯誤。
問題原因
- 安全組規(guī)則限制訪問。
- 服務(wù)器配置了單IP訪問次數(shù)限制。
- Web服務(wù)異?;蚍?wù)器超載。
- 系統(tǒng)存在云鎖、安全狗、防火墻等安全策略,攔截了CDN的回源IP。
解決方案
本文以源站為Linux系統(tǒng)的ECS服務(wù)器,且由Nginx服務(wù)提供Web服務(wù)為例,處理方法如下。
CDN讀取數(shù)據(jù)過程
CDN讀取數(shù)據(jù)全程如下。
客戶端 -> CDN L1層 -> CDN L2層 -> 源站
當(dāng)客戶端訪問您的源站資源時,客戶端將先查看CDN的1級節(jié)點,再查找CDN的2級節(jié)點,如果2級節(jié)點沒有,再查找源站。源站中的數(shù)據(jù)同步到2級節(jié)點,2級節(jié)點同步到1級節(jié)點,再從1級節(jié)點返回給客戶端需要訪問的數(shù)據(jù)。對于源站來說,CDN的L2節(jié)點才是客戶端。
回源節(jié)點的IP地址
為了防止源站被攻擊,一些客戶希望阿里云CDN提供回源的節(jié)點IP,然后在源站設(shè)置IP白名單,只讓CDN回源的節(jié)點訪問源站。但是,由于CDN回源時會智能分配節(jié)點訪問您的源站服務(wù)器,回源的節(jié)點IP是不固定的,因此不建議您將源站服務(wù)器的回源策略設(shè)置為固定的節(jié)點IP列表,這樣可能會發(fā)生回源失敗的情況。
如果您有特殊業(yè)務(wù)需求,源站上有安全狗等防護(hù)軟件確實需要配置白名單,請調(diào)用接口DescribeL2VipsByDomain,獲取CDN回源的節(jié)點IP列表并添加到您源站服務(wù)器的白名單中,以免影響CDN回源獲取資源。但是該接口僅支持日峰值帶寬為1Gbps以上的用戶調(diào)用,如果您符合該條件,請您提交工單,申請該接口的調(diào)用權(quán)限。
安全組規(guī)則限制
- 登錄ECS控制臺。
- 在實例列表頁面,選擇對應(yīng)的實例,單擊 管理。
- 選擇本實例安全組頁面,單擊 安全組列表。
- 查看正在使用的規(guī)則表,單擊 配置規(guī)則,根據(jù)需要添加或變更安全組規(guī)則即可。有關(guān)如何判斷IP地址是否為CDN的IP地址。有關(guān)如何獲取CDN的IP地址。
單IP訪問次數(shù)限制
- 遠(yuǎn)程連接Linux實例。
-
檢查Nginx服務(wù)的配置文件,修改ngx_http_limit_conn_module和ngx_http_limit_req_module配置項。本文以ngx_http_limit_req_module模塊為例,配置文件示例如下。
http { limit_req_zone $binary_remote_addr zone=perip:10m rate=10r/s; ... server { ... limit_req zone=perip burst=5 nodelay; }- ngx_http_limit_conn_module模塊用于限制每個定義的密鑰的連接數(shù),特別是單個IP地址的連接數(shù)。使用limit_conn_zone和limit_conn指令。
- ngx_http_limit_req_module模塊用于限制每一個定義的密鑰的請求的處理速率,特別是從一個單一的IP地址的請求的處理速率。使用泄漏桶方法進(jìn)行限制,使用limit_req_zone和limit_req指令。
- limit_req_zone $binary_remote_addr zone=perip:10m rate=10r/s; 配置項定義一個limit_req_zone用來存儲Session,其大小是10M內(nèi)存,以$binary_remote_addr為Key,限制平均每秒的請求為10個。
- limit_req zone=perip burst=5 nodelay; 配置項中啟用nodelay選項,嚴(yán)格使用平均速率限制請求數(shù),超過的請求會被延時處理。
Web服務(wù)異常
- 遠(yuǎn)程連接Linux實例。
- 檢查Nginx服務(wù)的日志,根據(jù)具體錯誤進(jìn)行排查修復(fù)。
-
執(zhí)行如下命令,重新啟動Nginx服務(wù)。
注:該操作會影響業(yè)務(wù),請謹(jǐn)慎使用。
service restart nginx
安全策略攔截
設(shè)置各個安全產(chǎn)品的攔截策略,放行CDN的回源IP即可。
我公司為阿里云代理商,通過此頁面下單購買,新老阿里云會員,均可享受我公司代理商價格!


