我们的应用程序中有一个 REST API,但是我们不希望将提供此 API 的服务器放在 Web 可访问的位置。
我想在可通过 Web 访问的服务器中安装某个程序,以便将调用转发到我的服务器。理想情况下,该程序应配置为仅转发 GET 或转发所有内容。
这样的事情存在吗?还是我必须自己推出?
答案1
您正在寻找的术语是“反向代理” - 它不需要专门构建来处理 REST API,只需要普通的 HTTP 连接(使用您提到的方法过滤器)。
Apache 或 nginx 应该可以很好地满足您的需求。
答案2
您正在寻找的通常称为代理或反向代理。一些常见的代理包括:
- Nginxhttp://nginx.org/
- 漆https://www.varnish-cache.org/
- 切诺基http://www.cherokee-project.com/
- Squid(可能是最稳定和最受欢迎的)http://www.squid-cache.org/
- 带有 mod_proxy 的 Apachehttp://httpd.apache.org/
可以使用针对每个请求的特殊规则来过滤除 GET 请求之外的所有请求。我猜想 IIS 也可以设置为反向代理,但我对 IIS 不够熟悉。