【发布时间】:2012-03-11 13:03:42
【问题描述】:
我的组织订阅了一个名为 Language Grid 的语言 Web 服务基础架构,它使用 basic access authentication 进行服务调用。我们聘请了一个承包商来为我们开发使用这些语言服务的应用程序。问题是我们不想将访问服务网格的用户名和密码提供给承包商,我们想监控(记录)访问。
因此我们考虑为 Web 服务请求创建一个“代理”,以便承包商可以进行如下图所示的测试:
我认为最简单的方法之一是要求承包商通过位于我们服务器上的脚本(PHP 或其他)提出请求,并将此请求中继到服务网格。这样的脚本可能如下所示:
$auth = base64_encode("$user:$pass");
$url = $_POST['url']
$request = new HTTPRequest($url, HTTP_METH_POST);
$request->setPostFields($_POST)
$request->send();
$response = $request->getResponseBody();
echo $response;
有没有更好、更安全的方法来做到这一点?例如通过使用 Apache 代理模块功能?
【问题讨论】:
-
我会考虑使用Squid 来解决这样的问题。 mod_proxy 应该也能正常工作。
标签: php web-services apache proxy basic-authentication