我有一個由靜態HTML頁面和JS組成的Java應用程序。在應用程序中,我有類似REST的API,它由JS從靜態HTML中調用。在應用程序前面是一個前端代理服務器,比如Nginx或Apache。 前端服務器位於服務器S1上,servlet容器位於服務器S2上。從公共訪問保護私人內部Web API的機制
我有一個頁面http://example.com/mycontext/page.html包括JS文件調用位於http://example.com/mycontext/api/someresource 前端REST API傳遞匹配http://example.com/mycontext/到我的應用程序的所有請求。
我想只是我自己的Intranet(比如從服務器S3),而不是從互聯網其他應用程序引入其他Web API在我的內部使用的應用程序只,即這個新的API被調用可見。
我希望這個api基於HTTP,WS或類似REST,並由同一個servlet容器管理,比如Tomcat,我的應用程序部署在這個容器中。
我有什麼選擇?
您沒有提及您的服務器S1所在的位置(外部/內部),以及是否需要訪問S3提供的服務。 – Perception
@Perception S1可以通過互聯網訪問,可以訪問內部服務器(S2,S3),但不需要訪問S3。 – AlexanderYastrebov
@AlexanderYastrebov,在兩個應該通信的服務器/ apis之間有共享的祕密。客戶端使用此祕密來計算將由目標服務驗證的MAC。請參閱[this](http://stackoverflow.com/a/12792698/1530938)。你的問題是一個可能的問題重複 – kolossus