簡體   English   中英

將特定 S3 托管網站路徑路由到 EC2

[英]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.

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