3

假設我有一個位於ELB後面的Windows EC2集羣上的RESTful API。現有的API是一個.NET應用程序並託管在IIS中。保護AWS API後面的現有API網關

我想嘗試將AWS API網關置於現有API之前,以便AWS處理安全性和可伸縮性等。基本上將AWS網關設置爲現有API的HTTP代理。

從AWS文檔中可以看出,現有的API必須公開。但它應該通過檢查客戶端證書來驗證呼叫是否源自Amazon API Gateway,從而確保安全。

http://docs.aws.amazon.com/apigateway/latest/developerguide/getting-started-client-side-ssl-authentication.html

然而,對於現有的API的SSL連接都在ELB終止。因此,當我們檢查客戶證書時,在請求中,在代碼中 - 它不存在。

需要做些什麼才能在EC2/IIS /代碼級別獲得客戶端證書?

或者是否有其他方法來保護現有API並確保AWS API網關仍可與其通信?

回答

2

您將需要配置您的ELB設置,以執行基於TCP的負載平衡並終止您的IIS/EC2主機上的SSL連接。這需要將SSL證書分發給主機,並將其配置爲將證書綁定到適當的端口。

0

通常人們喜歡在他們的API網關卸載SSL,以節省行政開銷,因爲ELB終端有效地移動管理,單點的基礎設施,而不需要在多臺服務器的SSL證書的管理。

它還幫助,如果你有一些Orchestrator管理的一個EC2集羣[ECS,kubernetes,泊塢羣。正如您已經提到負載均衡器的API網關受SSL證書保護的那樣,您可以在負載均衡器中添加訪問策略,以提供與您的EC2集羣交互所需的權限,而您的EC2存在於專用VPC中時,您可能不需要因爲所有的通信都已經安全,所以請將證書添加到EC2計算機。

希望它有道理。