簡體   English   中英

AWS API Gateway 自定義域未通過用戶代理

[英]AWS API Gateway Custom Domain not passing the user-agent

我有一個自定義域 example.com 正在重定向到我的 API 網關 api-example.com,但它似乎沒有傳遞user-agent字段,我所有的user-agent值都是AmazonAPIGateway_5rfp2g9h9b

如果我直接調用api-example.com則它工作正常,但如果我調用example.com則不起作用。

關於如何傳遞正確的user-agent HTTP 標頭的任何想法?

謝謝

不清楚重定向或您列出的域是什么意思,所以您有兩個自定義域? 如果是這樣,您是如何做到的,具有自定義來源的 Cloudfront? 您有什么類型的集成請求? 這是 REST 還是 HTTP API? 可能是因為您沒有任何詳細信息並且域沒有意義,因此您被否決了。

無論哪種方式,請確保在您的 API 中定義了適用的用戶代理字段:

  • 請求您的 API 的一部分,並確保您的集成請求正在轉發此標頭
  • 同樣,確保 Cloudfront 轉發“用戶代理”標頭,如果您使用 Cloudfront,它也會被列入白名單

請注意,此標頭來自您使用的 Web 瀏覽器或 SDK,有時也會設置此標頭。 因此,如果您出於任何可能出現問題的原因未設置此標頭,我不知道例如當您說來自該域時是否意味着您正在使用托管網站,而另一個意味着從 Postman 發出請求,等等

簡短回答:驗證標題的內容

在此處參考 AWS 用戶代理重定向.. 如下所列。

重定向和 HTTP 用戶代理:

..使用 Amazon S3 REST API 的程序應在應用程序層或 HTTP 層處理重定向。 許多 HTTP 客戶端庫和用戶代理可以配置為自動正確處理重定向; 但是,許多其他人的重定向實現不正確或不完整。 在依賴庫來滿足重定向要求之前,請測試以下情況:

  • 驗證重定向請求(接收重定向后的第二個請求)中正確包含所有 HTTP 請求標頭,包括 HTTP 標准,例如 Authorization 和 Date。
  • 驗證非 GET 重定向(例如 PUT 和 DELETE)是否正常工作。
  • 驗證大型 PUT 請求是否正確遵循重定向。
  • 如果 100-continue 響應需要很長時間才能到達,請驗證 PUT 請求是否正確遵循重定向。 當 HTTP 請求方法不是 GET 或 HEAD 時,嚴格遵守 RFC 2616 的 HTTP 用戶代理可能需要在遵循重定向之前明確確認。 遵循 Amazon S3 自動生成的重定向通常是安全的,因為系統只會向 amazonaws.com 域內的主機發出重定向,並且重定向請求的效果將與原始請求的效果相同......

可選/附加幫助,我試圖理解您的描述,如果您going across domains ,那就是 CORS。
  1. Please consider CORS which you seem to be missing ,請參閱此處的配置。
  2. 同樣重要Enabling CORS support for a resource and its methods does not recursively enable it for child resources and their methods.
  3. 如果您想為user-agent設置自定義標頭
  1. 控制台中設置 CORS

AWS CORS 設置

  1. 如何從資源下的控制台設置啟用 CORS。

在此處輸入圖像描述

  1. 設置你的Headers

CORS 標頭

  1. 作為最后一步,您必須重新REdeploy到一個階段,以使設置生效!

暫無
暫無

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

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