我有幾個問題試圖決定什麼是我想要構建的東西的最佳解決方案。如何驗證服務器到服務器通信
在應用程序最簡單的形式中,我有一個前端服務器,允許用戶上傳與其賬戶相關聯的文件,例如視頻或圖像。上傳文件表單將上傳請求發送到前端服務器,後者然後使用反向代理將請求直接傳遞到存儲服務器的API()。
我目前堅持的是試圖找出驗證在存儲服務器API處接收到的請求實際上是從前端服務器的反向代理髮送的最佳方式,而不是有人僅向存儲服務器的API端點發送直接發佈請求。
任何建議將非常感激!
我有幾個問題試圖決定什麼是我想要構建的東西的最佳解決方案。如何驗證服務器到服務器通信
在應用程序最簡單的形式中,我有一個前端服務器,允許用戶上傳與其賬戶相關聯的文件,例如視頻或圖像。上傳文件表單將上傳請求發送到前端服務器,後者然後使用反向代理將請求直接傳遞到存儲服務器的API()。
我目前堅持的是試圖找出驗證在存儲服務器API處接收到的請求實際上是從前端服務器的反向代理髮送的最佳方式,而不是有人僅向存儲服務器的API端點發送直接發佈請求。
任何建議將非常感激!
有多種方式做到這一點:
這些都是簡單的選項,如果你不需要一個複雜或更昂貴的解決方案。
嘿@Virgo,感謝您的評論!由於存儲服務器正在通過表單發送數據,因此我已經在會話中實施了CSRF預防功能,但我之前已考慮過使用IP白名單的想法,所以我可能也會這樣做!偉大的建議,非常感謝! –
您可以從前端服務器發送某種令牌來驗證請求來自正確的服務器。 –
嘿@DhanushGopinath,謝謝你的回覆。我以前創建了一個創建CSRF令牌的會話,該會話在存儲服務器端通過同一個客戶端的會話進行驗證,但是,如果在傳遞實際值之前創建令牌並通過tcp發送令牌會更好請求,請等待包含來自存儲服務器的正確標記的ACK,並且只有在它正確的情況下,才能代理文件上載請求? –
我這樣做是你提到的第一種方式。而且我編寫了一個HTTP處理程序來驗證它,只有當它有效時,纔會將請求傳遞給實際處理程序。第二種方法也應該沒問題,除了每次調用每次都需要發送2個請求。 –