簡體   English   中英

在使用 CloudFront CDN 處理 GET 請求時,我可以反向代理 POST 請求嗎?

[英]Can I reverse-proxy POST requests while using CloudFront CDN for GET requests?

目前我有從 S3 存儲桶提供 SPA ( spa.myapp.com ) 的 CloudFront 分布。 我還在 AWS 的 k8s 中部署了 web 服務器。

  1. 是否可以將所有 POST spa.myapp.com/* 請求轉發到我的 web 服務器? 我需要哪些組件/配置來執行此操作?

  2. 是否可以將所有 spa.myapp.com/api/* 請求轉發到我的 web 服務器(無論 http 方法如何)? 我需要哪些組件/配置來執行此操作?

一般來說,我想從 CDN 提供 SPA,但在同一域上也有很少的端點服務器端。

  1. *路徑的 CloudFront 行為中,您應該允許所有類型的方法:

在此處輸入圖像描述

文檔

CloudFront 始終緩存對GETHEAD請求的響應。 您還可以將 CloudFront 配置為緩存對 OPTIONS 請求的響應。 CloudFront 不會緩存對使用其他方法的請求的響應。

這意味着POST請求總是被重定向到源(后端),對這些請求的響應不會被緩存。 如果緩存未命中, GETHEAD請求也可能會被重定向。 否則,從緩存中返回數據。

  1. 當您創建 CloudFront 分配時,您必須將行為設置為默認值。 通常,您保留默認路徑模式,因此*

在此處輸入圖像描述

您可以有多種行為,它們可以具有不同的緩存屬性。 這些行為由它們的路徑模式來區分。 它們也可以有優先級,傳入的請求首先根據更高優先級的行為進行評估。 例如:

在此處輸入圖像描述

要回答您的問題,您必須為/api/*路徑創建不同的行為並為此行為應用不同的配置。 與默認行為相比,這必須具有更高的優先級。 請記住,CloudFront 僅緩存GETHEADOPTIONS請求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM