2012-07-17 30 views
0

一個Web應用程序(war)提供了兩套HTTP API,一套是Internet上公開的客戶端,另一套是內部的,不應該公開給Internet。網絡部署保護內部API的最佳做法是什麼?一個Web應用程序提供公共和內部API,如何保護內部API?

我知道一個常用的方法是將應用程序拆分爲兩個可部署對象,將用於公共API的前端放在DMZ中,並將內部API服務的後端放在內部網絡中。但出於某種原因,我想保持應用程序的可部署性。

回答

0

最後我們介紹一個反向代理來隱藏內部網絡中的API。來自Internet的客戶端只能連接到反向代理服務器,反向代理服務器被配置爲只將請求轉發到公共API到應用程序。

1

有幾件事你可以在這裏嘗試。對於私有API,我真的建議將它切換到它自己的應用程序,它只監聽本地地址。如果您必須將它們放在一起,則可以實施使用內部API所需的某種oauth設置,從而使只有擁有有效oauth令牌的用戶才能完成對受限資源的API請求。

+0

我同意丹尼爾。不必是OAuth,但對API(和HTTPS)以及某些訪問控制列表類型的東西使用一些身份驗證來限制訪問。 – 2012-07-17 20:51:23

+0

身份驗證有幫助,但我正在尋求一種方法來阻止外部客戶端訪問內部API。因爲認證憑證可能會泄露。內部API是其他系統的集成接口。不知道反向代理是否有幫助? – aleung 2012-07-18 05:50:26

相關問題