路徑代理是一項強大的技術,它透過將使用者請求的真實路徑轉送到指定的代理URL,實現對請求的轉送和處理,並將處理後的請求結果傳回給客戶端。此功能有助於統一資源管理,提高處理效率,滿足日益複雜的業務需求,適用於個人化品牌展示、跨平台資源整合等需求情境。
什麼是路徑代理?
將使用者請求的真實路徑轉送至指定的代理URL,從而實現對請求的轉送和處理,然後將處理後的請求結果傳回給客戶端。如此可在不改變商城路徑的情況下,展示來自代理商URL的內容。
舉個例子,當用戶在商城網站上點擊"About us"時,路徑代理可以將該請求轉發到公司官網介紹頁面或Facebook主頁等,然後將相關內容返回給用戶,同時保持商城路徑的不變性。這種擴展方式提供了更多與外部資源整合和互動的機會,為使用者帶來更多豐富多樣的內容和功能體驗。
如何配置?
Step.01 填寫商城中已存在的真實路徑,注意真實路徑不能以斜線(/)開頭,也不能包含問號(?)參數
Step.02 填寫要轉發至的代理URL,並了解我們的精準匹配和泛匹配轉發效果,配置即可完成
效果範例一:在代理URL轉送請求時,會攜帶原始請求的子路徑和參數
配置真實路徑:apps/users
設定代理URL:https://example.com/proxy
原始請求路徑:apps/users/123?status=active
轉送後的請求路徑:https://example.com/proxy/users/123?status=active
效果範例二:如果原始請求和代理URL有相同的參數,則將使用原始請求中的參數值覆寫代理URL
配置真實路徑:apps/orders
設定代理程式URL:https://example.com/api-proxy?status=completed
原始請求路徑:apps/orders/789?status=pending
轉送後的請求路徑:https://example.com/api-proxy/789?status=pending
工作原理
1. 確定來源店鋪ID和目前代理請求來源端存取域名,這些資訊將用作header頭參數。
2. 取得原始請求的子路徑和參數。這些資訊將在轉發請求到代理URL時一併攜帶。
3. 檢查原始請求和代理URL是否具有相同的參數。如果存在相同的參數,則需要使用原始請求中的參數值覆寫代理URL中對應參數的值。
4. 建置轉送請求到代理URL的請求,包括以下內容:
①根據實際需求選擇適當的HTTP或HTTPS協定。
②設定請求的目標URL為代理URL。
③將原始請求的子路徑和參數加入目標URL。
④檢查並處理相同參數的值覆蓋情況。
⑤新增特定的header頭參數到請求中,包括:
"x-oemcart-store-id":設定為來源店舖ID。
"x-oemcart-current-domain":設定為目前代理請求來源端存取網域名稱。
5. 發送轉送請求到代理URL,並等待回應。
推薦使用場景
此功能適用於需要將特定請求從原始服務轉發到代理服務,並透過傳回的HTML代碼將代理URL的內容顯示給使用者的情況
特定的header頭參數可以用於在代理請求中傳遞額外的信息,例如來源店鋪ID和當前代理請求源端訪問域名
透過內鏈頁面轉送進行個人化品牌展示、跨平台資源整合。當使用者點擊頁面內連結或按鈕需要開啟內部指定頁面時,配置轉送規則將請求轉送至代理頁面實作。
注意事項
當代理URL轉送請求時,會攜帶原始請求的子路徑、查詢參數和header頭參數。
代理請求支援GET、POST、DELETE、PUT等請求。
如果原始請求和代理URL具有相同的參數,代理URL將覆寫使用原始請求的參數值。
真實路徑將進行泛匹配。例如,如果您填寫的真實路徑為"apps/products",則"apps/products/123"、"apps/products/123/details"等都會成功配對。
如果您設定了真實路徑"apps/products/123/details"和"apps/products",則路徑更長的"apps/products/123/details"將優先匹配,而不會走"apps/products"的代理轉發設定。
如果真實請求未命中任何代理規則,將會提示404頁。