我們在 Heroku 上運行 2 個不同的應用程式。兩者都有用 PHP 和 Symfony 編寫的 API,並透過 Apache 運行。其中一個前端客戶端是用 Vue 寫的,另一個是用 Angular 寫的。
在 API 中,我們從 POST 正文序列化指令和查詢物件。有時此過程會失敗,因為缺少所需的欄位。我們透過 Sentry 錯誤監控知道這一點。在那裡我們可以查看這些請求,所有這些請求都完全缺少正文。
我們一直無法重現這個案例。
這個問題跨越不同的端點、不同的瀏覽器、不同的裝置(行動和桌面),除了缺少請求正文之外沒有任何共同點。
網路佈局、Apache 或 Heroku 中是否有已知問題,這些問題會在連線非常慢等邊緣情況下產生這種行為?這會導致請求在沒有正文的情況下轉發到後端?如果沒有應用程式佈局,還有其他事情可能會導致這種情況嗎?