如何使用我们网关外部客户的网关IP保护的服务?

我为一个使用托pipe主机的App1和一组应用程序App2..N组织工作

App1是一个Web应用程序,由一个大型供应商在linux webfarm上托pipe – 它使用类似表单的身份validation(例如,简单的用户名+密码)。

应用程序App2..N的集合可供我们networking内的用户免费使用,而不需要凭借来自我们的网关IP地址的请求login。

应用程序(App2..N)大约是。 10个独立的在线信息供应商,他们共同拥有一个许可模式,与我的雇主签订合同,通过他们的每个networking应用程序提供信息服务,而且他们似乎都使用一个scheme来logging我们组织的网关IP地址- 并允许来自该特定IP的请求在没有login/密码的情况下使用该服务。

Approximatley的1/10用户在我们的防火墙后面,九分之九遍布世界各地。

这些远程用户使用类似于表单的用户/通过身份validation进行身份validation以使用App1。

在使用App1时,他们必须访问App2..N的资源 – 作为App1中的链接暴露。

App2..N的供应商倾向于使用各种其他方式来允许我们的远程用户,但是随着时间的推移,他们似乎总是在变化和分解 – 所有的scheme都是不同的,并且都在不同的时间发生变化,而且大多数这些供应商没有容易获得的客户支持服务 – 例如,我很难跟上供应商解决scheme的全部破损和不足。

我想提出一些基于networking的应用程序,可以接受来自所有networking的传入请求,然后以某种方式通过我们的内部networking引导它们,以便这些各种请求可以通过“来自”我们的现场网关IP地址。

我不知道这种解决scheme叫什么,我认为这将是反向代理,但不是100%确定的。

我需要什么types的解决scheme? 叫什么?

是否有某种types的服务器可以在我们的networking和/或DMZ中运行,以便将请求重新路由到App2..N,以便将它们视为来自我们networking中的用户?

约束:我们networking以外的用户数量远远大于我们networking内部的用户数量,因此我们不希望为此提供VPN访问我们的networking。

由于我不完全知道这些工具和/或概念被恰当地称为什么,所以我开始欢迎这个问题的编辑,以使SF社区更清楚。

编辑:我可能不需要源IP地址为我们 App2..N的请求来自我们的网关IP,但如果他们来自一个IP(不一定是我们的网关IP) – 这也可以工作。

这听起来好像你是在说反向代理。 这将工作的方式是,你会在你的DMZ运行反向代理。 您可以将反向代理的URL提供给外部用户。

当用户浏览到您给予的URL时,您的反向代理会收到连接和请求。 然后它翻译或重写或只是将请求(本身/从您的IP地址)转发到App1。 App1authentication用户。

您需要弄清楚如何检测反向代理是否对App1进行身份validation。 这可能是一个cookie,或一个URL元素,或… ???。 反向代理看到所有的networkingstream量,所以它应该是可行的。

一旦反向代理知道您是否已通过身份validation,您就可以将其configuration为仅将身份validation的用户/连接转发至App2..N。

您需要确保App1显示通过反向代理指向的URL,或者您要重写App1提供的链接以通过反向代理。

这个configuration可能是痛苦的。 如果你使用Apache,你正在寻找像mod_rewrite或mod_rewrite2(如果我没记错的话)还有其他软件可以做这样的事情(BlueCoat是我认为的一个,但我不知道它是如何configuration的)

希望这可以帮助。