Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 保护私有内部web api不受公共访问的机制_Java_Web Services_Security_Api_Web Applications - Fatal编程技术网

Java 保护私有内部web api不受公共访问的机制

Java 保护私有内部web api不受公共访问的机制,java,web-services,security,api,web-applications,Java,Web Services,Security,Api,Web Applications,我有一个由静态HTML页面和JS组成的java应用程序。在应用程序中,我有一个类似REST的API,JS从静态HTML调用它。应用程序前面是前端代理服务器,比如Nginx或Apache。 前端服务器位于服务器S1上,servlet容器位于服务器S2上 我有一个页面,其中包含调用RESTAPI的JS文件,位于 前端将所有匹配的请求传递给我的应用程序 我想在我的应用程序中引入另一个web api,仅供内部使用,也就是说,这个新的api应该仅由我的intranet中的其他应用程序调用和可见(比如从服务

我有一个由静态HTML页面和JS组成的java应用程序。在应用程序中,我有一个类似REST的API,JS从静态HTML调用它。应用程序前面是前端代理服务器,比如Nginx或Apache。 前端服务器位于服务器S1上,servlet容器位于服务器S2上

我有一个页面,其中包含调用RESTAPI的JS文件,位于 前端将所有匹配的请求传递给我的应用程序

我想在我的应用程序中引入另一个web api,仅供内部使用,也就是说,这个新的api应该仅由我的intranet中的其他应用程序调用和可见(比如从服务器S3),而不是从internet

我希望这个api是基于HTTP、WS或REST的,并且由部署我的应用程序的同一个servlet容器(比如Tomcat)管理

我有什么选择

我的前端通过所有请求匹配
http://example.com/mycontext/*
添加到我的应用程序


在这种情况下,最简单的答案是将前端更改为不通过
http://example.com/mycontext/private/*
通过,然后让其他服务器直接在
http://server.internal.ip:8080/mycontext/private

您没有提到服务器S1的位置(外部/内部),它是否需要访问S3提供的服务。@Perception S1可以通过internet访问,也可以访问内部服务器(S2、S3),但它不需要访问S3。@AlexanderYastrebov在两个应该通信的服务器/API之间有一个共享的秘密。客户端使用这个秘密来计算将由目标服务验证的MAC。看见你的问题可能与你的问题重复,我想你问的是我要找的。你能再给我介绍一下吗:谢谢。