2017-04-05 79 views
1

我有一個由API網關代理的Lambda函數。但是,API網關僅顯示http s而不是http。我到處搜索,但看起來像API網關是不可能接受http。如何使AWS api網關接受http而不是https

所以我的問題是如何將http客戶端調用轉換爲https併發送到api網關?我在問,因爲我的客戶只能打HTTP呼叫,他們不會改變。

+1

除非您想創建自己的HTTP-> HTTPS或HTTP-> Lambda代理,API網關不是正確的解決方案。 – stdunbar

回答

2

我最近和一位AWS代表進行了4個小時的電話聯繫,談論我們在生產階段遇到的類似問題。我的情況很相似,APIGateway沒有任何可以修改的地方(代表嘗試了各種技巧,但似乎沒有任何工作)。因此,我們的結論是將EC2實例作爲APIGateway的代理服務器並轉發所有流量。還有一些額外的工作,如轉讓域名,但總體而言,它工作得很好。就你而言,因爲你只需要重定向HTTP流量,所以一個簡單的ElasticBeanstalk代理應用可能就足夠了(EB默認使用HTTP,並且在Nginx代理服務器後面)。

0

你可以把API網關的前面的Cloudfront分佈於以下設置:

  • 產地協議策略:HTTPS只有
  • 瀏覽器協議政策:HTTP和HTTPS
  • 正向頭:無
  • 對象緩存:使用原始緩存頭文件
相關問題