我有一个有趣的情况,而谷歌不会出现有关于这个问题的任何信息。

我开发PHP编写的基于Web的软件。我们的大多数客户都有某种CAS服务器安装用于身份验证的,我们只是在他们的认证服务器指向我们的网站。我们有一个新的客户端,没有一个CAS服务器,所以我告诉他们,我们可以使用LDAP,最好用SSL(LDAPS)。我不知道他们是否有做LDAPS的能力,但真正的问题是,(目前)他们需要的LDAP连接在同一网络上,因此,我需要连接到他们的VPN第一,和然后查询他们的LDAP服务器。

现在,我敢肯定,我可以让我们的服务器上的VPN连接,并通过直接所有的流量,但这样会创建一个单一故障点,我们所有的客户,并会完全超出我们的控制;所以这真的是不是一个选项。

我或许可以找到一种方法,使一个连接,验证用户,然后松开的连接;但是,似乎是一个糟糕的选择,将需要很长的时间。

因此,没有任何人知道,如果我能(一)打开的只有的PHP的VPN连接,然后使用该连接来连接到LDAP服务器或者(2)以某种方式代码PHP /配置我的服务器所以,只有到LDAP服务器请求使用VPN和其他所有请求使用默认的Internet连接?

我真的有点失落,以一个很好的办法做到这一点,任何帮助,将不胜感激。非常感谢!

有帮助吗?

解决方案

是否有在客户端SSH服务器?如果是这样,也许你可以与客户端隧道通过安排到SSH服务器在其末端的连接。然后,你可以问你的应用程序中打开SSH隧道的过程认证之前,并关闭它,当它完成,类似于VPN。

您可以可能与VPN依赖于底层的操作系统上做到这一点。无论哪种方式不会是漂亮,要被缺乏的表现。此外无论哪种方式,隧道将是可用的服务器上的所有应用程序使用,而它是开放的。

如果这是我,我会写一个web服务做认证,建立了与客户谈判一项协议,这对我来说,和继电器所有的认证尝试Web服务。你会非常将此设为使用HTTPS为好。

根据网络应用程序和你的客户,以及有多少控制你都有在你的网络之间建立上,您的客户可能能够从您的IP地址的一个请求路由通过自己的网络 - 我们有这样做一次第三方。我们需要获得他们的服务之一的私人子网,因为我们有相同的ISP都是我们达成的ISP将配置和维护路由,所以我们有效地得到了一个完全私有的隧道协议。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top