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

Web services php web服务的私有和公共web服务身份验证,web-services,apache,authentication,Web Services,Apache,Authentication,我有两个web服务(即my_public_api和my_private_api)在server1中运行。(PHP、Apache) http://ipaddress/my_public_api——每个人都可以访问 http://ipaddress/otherfuncation/my_private_api-只能由经批准的用户或特定ipaddress(server2)访问 我想为此实现一些身份验证。这可以使用htpasswd基本身份验证来完成吗?如果不是的话,有什么可能的方法来实现这一点。 如果我使

我有两个web服务(即my_public_api和my_private_api)在server1中运行。(PHP、Apache)

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

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

我想为此实现一些身份验证。这可以使用htpasswd基本身份验证来完成吗?如果不是的话,有什么可能的方法来实现这一点。
如果我使用客户端身份验证,那么这是否只可能保护我的私有api并让每个人都可以访问我的私有api。

我找到了一种使用SSL实现这一点的方法

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

    例如:httpd.conf

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

    查看更多详细信息

    这两个API的用途是什么?当返回非敏感信息时,是否从数据库插入和提取数据?是的,my_public_api将接收数据(主要来自移动应用程序),并出于某种目的存储在表中。因此,它不会影响我的任何其他表。但是如果是my_private_api,它将从其他服务器调用,并执行一些敏感操作并返回数据。所以我只需要保护我的私有api  并仅向特定的个人/IP地址授予权限