php Web服务的私有和公共Web服务身份验证

时间:2012-07-31 09:51:03

标签: web-services apache authentication

我在server1中运行了两个Web服务(即my_public_api和my_private_api)。 (PHP,Apache)的

http:// ipaddress / my_public_api - 每个人都可以访问。

http:// ipaddress / otherfuncation / my_private_api - 只能由经过批准的用户或特定的ipaddress(server2)访问

我想为此实现一些身份验证。可以使用htpasswd基本身份验证来完成吗?如果不是可能的方式来实现这一点。 如果我使用客户端身份验证,那么这只能保护我的private_api并让my_public_api可以访问所有人。

1 个答案:

答案 0 :(得分:0)

我找到了一种使用SSL实现此目的的方法,

  1. 生成服务器和客户端证书
  2. 将生成的证书指向apache。
  3. 在httpd.conf
  4. 中限制api位置/虚拟路径
  5. 分发您要授予其访问权限的客户端证书。
  6. 检查here以了解如何设置SSL证书

    例如:httpd.conf

    <Location /mysite/private_api>
    SSLRequireSSL
    SSLVerifyClient require
    SSLVerifyDepth 1
    </Location>
    

    查看here了解详情