1

我有幾個問題試圖決定什麼是我想要構建的東西的最佳解決方案。如何驗證服務器到服務器通信

在應用程序最簡單的形式中,我有一個前端服務器,允許用戶上傳與其賬戶相關聯的文件,例如視頻或圖像。上傳文件表單將上傳請求發送到前端服務器,後者然後使用反向代理將請求直接傳遞到存儲服務器的API()。

我目前堅持的是試圖找出驗證在存儲服務器API處接收到的請求實際上是從前端服務器的反向代理髮送的最佳方式,而不是有人僅向存儲服務器的API端點發送直接發佈請求。

任何建議將非常感激!

+0

您可以從前端服務器發送某種令牌來驗證請求來自正確的服務器。 –

+0

嘿@DhanushGopinath,謝謝你的回覆。我以前創建了一個創建CSRF令牌的會話,該會話在存儲服務器端通過同一個客戶端的會話進行驗證,但是,如果在傳遞實際值之前創建令牌並通過tcp發送令牌會更好請求,請等待包含來自存儲服務器的正確標記的ACK,並且只有在它正確的情況下,才能代理文件上載請求? –

+0

我這樣做是你提到的第一種方式。而且我編寫了一個HTTP處理程序來驗證它,只有當它有效時,纔會將請求傳遞給實際處理程序。第二種方法也應該沒問題,除了每次調用每次都需要發送2個請求。 –

回答

0

有多種方式做到這一點:

  1. 你可以使用一個API網關(例如APIGEE,AWS AI網關等)。網關可以請求源驗證。
  2. 你可以讓前端應用程序來使用OAuth(用於存儲服務器),並使用 ,要獲得認證/授權在存儲服務器
  3. 你可以做服務器&允許受限制的IP地址的源
  4. 之間的IP白名單
  5. 您可以使用質量%(相互Authenthicated SSL)的b/W服務器,以確保只有被驗證訪問您的API客戶端(可能是你的問題直接不但可以組合使用)

這些都是簡單的選項,如果你不需要一個複雜或更昂貴的解決方案。

+0

嘿@Virgo,感謝您的評論!由於存儲服務器正在通過表單發送數據,因此我已經在會話中實施了CSRF預防功能,但我之前已考慮過使用IP白名單的想法,所以我可能也會這樣做!偉大的建議,非常感謝! –