Php 只能通过vpn访问Laravel API

Php 只能通过vpn访问Laravel API,php,api,laravel,vpn,Php,Api,Laravel,Vpn,我们正在构建API,其他应用程序将使用该API从我们的应用程序读取/写入数据 例如:www.example.com/getPayments/useid 要求:上述API应只能通过VPN访问,因此无法从web调用 所以,我如何才能使我们的应用程序中的一些路由只能通过Laravel中的VPN访问 只要VPN的IP地址已经包含在请求的HTTP头中,或者PHP可以通过另一个$\u服务器变量使用,编写一些中间件来根据访问者的IP地址限制对某些路由的访问应该对您有用。您需要检查发送的HTTP请求的头,以找到

我们正在构建API,其他应用程序将使用该API从我们的应用程序读取/写入数据

例如:
www.example.com/getPayments/useid

要求:上述API应只能通过VPN访问,因此无法从web调用


所以,我如何才能使我们的应用程序中的一些路由只能通过Laravel中的VPN访问

只要VPN的IP地址已经包含在请求的HTTP头中,或者PHP可以通过另一个
$\u服务器
变量使用,编写一些中间件来根据访问者的IP地址限制对某些路由的访问应该对您有用。您需要检查发送的HTTP请求的头,以找到包含VPN IP地址的头,然后在中间件中使用它

您可以编写一个轻量级中间件组件来实现这一点,或者使用一个现有的包来为您想要保护的路由只列出VPN的IP地址


是一家现有的Laravel服务提供商,可以帮助您解决这一问题。

我不理解这个问题-您不能将其托管在可从web调用的web服务器上,而只能在您的本地LAN中。@Xatenev它位于web服务器上,现在任何人都可以从web访问所有路由,我不希望这些API在Web上公开访问这很容易做到,但通常在HTTP服务器(Apache、Nginx)或服务器操作系统级别完成。你想在Laravel中进行访问控制有什么具体原因吗?谢谢David,我认为防火墙是正确的方式,我现在正在使用它。谢谢你的推荐