
我們的 ASP.Net Core API 部署在 Windows 2019 的 IIS 上,每小時有超過 2500 個請求與追蹤號碼聯繫 Shippo,該請求在周四下午出現了問題。我們的 API 呼叫由 5 個客戶端的中間件服務發起,這些服務每小時 24/7 運行。我們的 Shippo 請求一直傳回 404,儘管 Shippo 已經解決了問題,並且我可以透過 Postman 進行連線。
我不是伺服器管理員,但我有足夠的知識來嘗試以下操作:在 10 秒延遲後停止然後啟動 IIS。重新啟動機器。讓 API 網站離線 90 分鐘。刷新了 IIS 伺服器上的 DNS 快取,重新部署了稍作修改的 webapi 版本。當然,這是一個假日週末,我們的託管 IT 提供者還沒有回覆我。在等待期間我接下來應該嘗試什麼?
答案1
更新:這肯定與 Shippo 中斷有關,但這是一個編碼問題。我們的遺留程式碼可以正常運作,如下所示:
UriBuilder uribuilder = new UriBuilder(settings.url_base);
uribuilder.Path += "/tracks/";
正在創建的 url 明確引用了連接埠 443 (https://api.goshippo.com:443)/,而不是簡單的https://api.goshippo.com/url,我在調試中沒有註意到這一點,直到我決定編寫一個應用程式來僅在 API 之外查詢 Shippo。顯然,Shippo 在解決問題時進行了設定更改,不再允許 URL 直接引用連接埠 443(或更改了連接埠)。一旦我正確設定了 url,它就起作用了。感謝 Appleoddity 和 Keith Langmead 的幫助。