什么是CORS?

CORS,全稱(chēng)為跨源資源共享,是一種瀏覽器安全機(jī)制,用于限制在一個(gè)源(協(xié)議、域名、端口)上運(yùn)行的Web應(yīng)用訪問(wèn)另一個(gè)源上的資源。為了確保安全性,瀏覽器在發(fā)送實(shí)際請(qǐng)求前,會(huì)先發(fā)起一個(gè)預(yù)檢請(qǐng)求(OPTIONS 請(qǐng)求),以確認(rèn)目標(biāo)服務(wù)器是否允許該請(qǐng)求。

這種機(jī)制雖然提升了安全性,但也帶來(lái)了性能問(wèn)題。每個(gè)請(qǐng)求都需要額外的預(yù)檢請(qǐng)求,尤其是在前端與后端位于不同地理位置時(shí),延遲會(huì)顯著增加。例如,從南非到 AWS 的 us-east-1 區(qū)域的往返時(shí)間為 400 到 800 毫秒,而預(yù)檢請(qǐng)求會(huì)使延遲翻倍,達(dá)到 800 到 1200 毫秒。

解決CORS問(wèn)題的根本方法是將前端和后端部署在同一個(gè)源上。對(duì)于傳統(tǒng)的單服務(wù)器應(yīng)用程序,這并不是問(wèn)題,但當(dāng)前端和后端分離時(shí)(如前端通過(guò)CloudFront托管,后端使用API Gateway),就需要通過(guò)反向代理來(lái)解決。


反向代理的作用

反向代理是一種服務(wù)器配置,它允許客戶(hù)端通過(guò)當(dāng)前源訪問(wèn)其他目標(biāo)源的資源,并將這些資源返回給客戶(hù)端,使其看起來(lái)像是來(lái)自當(dāng)前源。

在我們的案例中,前端代碼通過(guò)CloudFront的路徑(如/backend-api/)發(fā)起請(qǐng)求,CloudFront會(huì)將這些請(qǐng)求轉(zhuǎn)發(fā)到API Gateway。這樣,前端無(wú)需直接調(diào)用API Gateway,從而避免了CORS問(wèn)題。

配置反向代理的好處

  1. 消除CORS預(yù)檢請(qǐng)求:前端和后端API位于同一源上,減少了約50%的請(qǐng)求延遲。
  2. 優(yōu)化后端資源使用:CloudFront可以終止HTTPS連接,并使用HTTP與后端通信,降低SSL加密解密的計(jì)算開(kāi)銷(xiāo)。

實(shí)現(xiàn)反向代理的步驟

項(xiàng)目結(jié)構(gòu)

該項(xiàng)目使用AWS CDK進(jìn)行基礎(chǔ)設(shè)施配置,主要包括以下組件:

完整代碼可以在 GitHub 倉(cāng)庫(kù) 中找到。

配置CloudFront行為

  1. 路徑轉(zhuǎn)發(fā):將/cf-apigw路徑下的所有請(qǐng)求轉(zhuǎn)發(fā)到API Gateway域
  2. 自定義域支持:通過(guò)/cf-cust-domain路徑轉(zhuǎn)發(fā)請(qǐng)求到API Gateway的自定義域。

注意事項(xiàng)


結(jié)果驗(yàn)證

通過(guò)CloudFront域訪問(wèn)時(shí),可以看到一個(gè)基本的HTML頁(yè)面,用于測(cè)試請(qǐng)求的詳細(xì)信息。在本地主機(jī)運(yùn)行時(shí),由于域名不同,瀏覽器會(huì)發(fā)送OPTIONS預(yù)檢請(qǐng)求。而通過(guò)CloudFront域訪問(wèn)時(shí),預(yù)檢請(qǐng)求被消除,顯著降低了延遲。

以下是兩種場(chǎng)景下的網(wǎng)絡(luò)請(qǐng)求對(duì)比:

  1. 本地主機(jī)運(yùn)行:包含OPTIONS請(qǐng)求,延遲較高。
  2. CloudFront運(yùn)行:無(wú)OPTIONS請(qǐng)求,延遲顯著降低。

總結(jié)

通過(guò)CloudFront反向代理API Gateway,可以有效消除CORS問(wèn)題,顯著降低API請(qǐng)求的延遲。對(duì)于同時(shí)控制前端和后端的開(kāi)發(fā)者來(lái)說(shuō),這是一種簡(jiǎn)單高效的解決方案。無(wú)論使用何種技術(shù)或框架,反向代理的概念都可以應(yīng)用于類(lèi)似場(chǎng)景。

完整項(xiàng)目代碼和更多細(xì)節(jié),請(qǐng)參考 GitHub 倉(cāng)庫(kù)

原文鏈接: https://rehanvdm.com/blog/cloudfront-reverse-proxy-api-gateway-to-prevent-cors
熱門(mén)推薦
一個(gè)賬號(hào)試用1000+ API
助力AI無(wú)縫鏈接物理世界 · 無(wú)需多次注冊(cè)
3000+提示詞助力AI大模型
和專(zhuān)業(yè)工程師共享工作效率翻倍的秘密
返回頂部
上一篇
使用Kubernetes網(wǎng)關(guān)API將您的自動(dòng)化推向高速。..
下一篇
使用Mocha、Chai等工具在Javascript中實(shí)現(xiàn)自動(dòng)化API測(cè)試
国内精品久久久久影院日本,日本中文字幕视频,99久久精品99999久久,又粗又大又黄又硬又爽毛片
中文字幕一区av| 精品视频在线视频| 91精品国产欧美一区二区成人| 亚洲成人精品一区| 久久精品亚洲麻豆av一区二区| 日韩理论片中文av| 日韩一级二级三级精品视频| 成人午夜电影网站| 国产成人高清视频| 免费不卡在线观看| 亚洲自拍偷拍av| 国产精品乱人伦| 国产美女视频91| 最新热久久免费视频| 国产精品久久久久久一区二区三区| 欧美妇女性影城| 色狠狠av一区二区三区| 色狠狠色噜噜噜综合网| 成人在线视频一区二区| 激情六月婷婷综合| 国产一区二区网址| 国内精品伊人久久久久av影院| 亚洲影院久久精品| 日韩成人一区二区| 日韩电影免费一区| 奇米色777欧美一区二区| 久久99精品国产麻豆不卡| 免费不卡在线观看| 久久精品国产99国产| 国内精品免费在线观看| 国产精品18久久久久久久久久久久 | 日韩精品一区在线| 91精品中文字幕一区二区三区| 在线看不卡av| 久久国产欧美日韩精品| 国内精品在线播放| 成人a区在线观看| 91精品综合久久久久久| ww久久中文字幕| 国产精品久久久久影院色老大| 亚洲一区二区综合| 免费观看一级欧美片| 国产精品一区二区三区四区| 欧日韩精品视频| 精品久久久久久久久久久久包黑料| 亚洲aaa精品| 久久99日本精品| 成人美女在线视频| 日韩一区二区在线免费观看| 精品免费国产一区二区三区四区| 久久久久青草大香线综合精品| 综合激情成人伊人| 男女激情视频一区| 欧美亚洲禁片免费| 国产午夜亚洲精品不卡| 自拍偷拍亚洲欧美日韩| 另类小说综合欧美亚洲| 99热在这里有精品免费| 91精品国产麻豆| 亚洲已满18点击进入久久| 国内精品伊人久久久久av影院| 久久99精品网久久| 717成人午夜免费福利电影| 中国色在线观看另类| 久久99精品一区二区三区 | 色哟哟一区二区三区| 久久影院午夜论| 亚洲综合成人在线| 99久久综合99久久综合网站| 久久综合网色—综合色88| 一区二区三区欧美激情| 91色视频在线| 国产精品久久毛片| 久久不见久久见中文字幕免费| 欧美精品丝袜久久久中文字幕| 国产精品成人一区二区三区夜夜夜| 亚洲私人影院在线观看| 色欧美88888久久久久久影院| 久久久国产精华| 亚洲欧洲精品一区二区三区| 国产一区999| 日韩久久久精品| 国产一区二区在线视频| 欧美一区二区三区公司| 亚洲国产精品自拍| 777久久久精品| 亚洲a一区二区| 日本不卡一区二区三区高清视频| 欧美日韩国产区一| 亚瑟在线精品视频| 欧美精品一区男女天堂| 久久成人久久鬼色| av一区二区三区四区| 亚洲天堂av一区| 欧美中文字幕一二三区视频| 亚洲国产精品天堂| 欧美理论电影在线| 人妖欧美一区二区| 久久综合网色—综合色88| 国内精品不卡在线| 国产精品免费视频网站| 99久久精品久久久久久清纯| 亚洲欧洲成人自拍| 69精品人人人人| 蜜桃av噜噜一区| 91网站视频在线观看| 亚洲成人av一区| 欧美大片一区二区| 99久久精品免费| 首页国产丝袜综合| 久久久精品蜜桃| 欧美久久久一区| 国模大尺度一区二区三区| 亚洲美女屁股眼交| 欧美成人r级一区二区三区| 成人一区二区三区在线观看| 美日韩黄色大片| 中文字幕乱码久久午夜不卡| 4438成人网| a在线播放不卡| 极品美女销魂一区二区三区| 国产精品久久久久一区二区三区 | 精品国产一区二区亚洲人成毛片 | 另类小说视频一区二区| 中文字幕在线观看一区| 欧美伦理视频网站| 欧洲激情一区二区| 成人免费看视频| 国产成人鲁色资源国产91色综| 亚洲综合丝袜美腿| 国产免费观看久久| 久久综合久久综合久久| 欧美亚洲国产怡红院影院| 99国产精品视频免费观看| 九九**精品视频免费播放| 久久综合国产精品| 欧美一区二区三区免费大片| 91性感美女视频| 99久久久精品| 丁香一区二区三区| 国产米奇在线777精品观看| 久久se这里有精品| 日本色综合中文字幕| 色老汉av一区二区三区| 91老师国产黑色丝袜在线| 国产xxx精品视频大全| 成人一区二区视频| 成人晚上爱看视频| 成人禁用看黄a在线| 一本一道久久a久久精品综合蜜臀| 国产一区在线观看视频| 国产精品18久久久久久vr| 狠狠色丁香九九婷婷综合五月| 免费成人在线网站| 国产精品亚洲午夜一区二区三区 | 亚洲欧美一区二区三区久本道91 | 亚洲美女屁股眼交3| 一区二区三区国产| 日韩精品欧美成人高清一区二区| 亚洲国产精品一区二区久久| 亚洲成人av一区二区| 国产精品69毛片高清亚洲| 国产99精品视频| 欧美亚洲高清一区| 91精品啪在线观看国产60岁| 在线观看免费亚洲| 精品国产3级a| 欧美激情综合五月色丁香| 国产精品不卡一区| 一区二区三区在线免费观看| 亚洲成在人线免费| 国产成人啪免费观看软件| av电影一区二区| 日韩欧美亚洲国产另类| 国产午夜精品一区二区三区四区| 中文字幕一区二区视频| 久久国产尿小便嘘嘘尿| 成人国产在线观看| 麻豆成人久久精品二区三区红 | 亚洲精品一区二区精华| 自拍偷拍亚洲激情| 天堂va蜜桃一区二区三区漫画版| 成人高清视频免费观看| 欧美丝袜自拍制服另类| 国产精品水嫩水嫩| 日韩精品电影在线| 成人免费av在线| 久久久久国产精品麻豆ai换脸| 亚洲免费av高清| 国产盗摄女厕一区二区三区| 欧美三区免费完整视频在线观看| 日韩精品一区二区三区中文精品| 伊人开心综合网| 国产99久久久国产精品潘金| 色悠久久久久综合欧美99| 久久综合久久综合久久| 奇米影视一区二区三区小说| 7777精品伊人久久久大香线蕉 | 欧美精品一区二区三区久久久| 亚洲一区二区三区四区五区黄|