[英]Route specific S3 hosted website path to EC2
但是,我使用 static 網站托管功能將我的網站文件托管在 S3 存儲桶上; 因為我的項目是在一個使用相對路徑導出一些 API 路由的框架下構建的,所以我遇到了這些請求失敗的問題,因為 S3 並不意味着服務於那些 API 請求。
我在這里的預期解決方案是創建一個在 EC2 實例下的容器上運行的節點服務器,然后由 static 網站文件向domain.com/api
發出的任何請求都由該服務器在 EC2 上提供服務。
例如,假設我自動生成的 static 文件托管在名稱為domain.com
的存儲桶上,然后用戶將訪問此頁面,並且 static 文件將使用/api/getSomeInfo
的相對路徑發出請求,然后請求 URL 將是domain.com/api/getSomeInfo
,在這種情況下,我想向在 EC2 上運行的節點服務器發出該請求,並將響應返回給發出請求的頁面。
如何做到這一點?
我嘗試使用 s3 static 網站路由規則,但這沒有用。
這是我試過的規則:
{
"Condition": {
"KeyPrefixEquals": "api/"
},
"Redirect": {
"HostName": "ec2-domain.com", //Idealy I would like this to be the same domain. Eg. domain.com; In which case this rule wouldn't even be necessary
"HttpRedirectCode": "301",
"Protocol": "https",
"ReplaceKeyPrefixWith": "api/"
}
}
我最終做的是使用在 EC2 上運行的節點服務器為 static 文件和 API 路由提供服務,但出於性能原因,我想使用 S3 和 CloudFront 為 static 文件提供服務。
謝謝你。
考慮使用 CloudFront,它支持多個來源(CloudFront 中的“來源”,如 S3 和 EC2)和特定於路徑的配置(“行為”)。
請參閱 AWS 知識中心文章我能否使用單個 CloudFront web 分配來使用多種行為提供來自多個來源的內容? . 劇透警報:是的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.