从 CakePHP 安全地调用 Laravel 应用程序的功能

Call Laravel app's functions from CakePHP, securely

场景

我有一个 CakePHP 项目 (project.com),目前用作我网站的双重用途(应用程序和网络服务器)。

但是,我正在将业务层移动到可能位于同一台服务器上的新 Laravel 项目。它公开了一个 api 供 CakePHP 项目用来进行调用。这也可以用作我的 public api 服务器,并分别通过 https://api.project.com/internal/v1https://api.project.com/v1 端点公开所有(内部+public)方法。

问题

目前我正在通过网络从 cakePHP 调用 Laravel 模块,就像普通用户一样,使用 https://api.project.com/internal/v1/ 处的 REST api 使用令牌身份验证。 但这引入了安全漏洞,也引入了延迟。并且由于这两个应用程序都将驻留在单个服务器中(或者至少是私有网络中的服务器),我如何才能将调用设为私有而不是通过 public 网络传输。

仅供参考: nGinx (+php-fpm) 为这两个应用程序提供服务。

您可以在Nginx 中为某些IP 设置访问限制。理想情况下,只有 ALLOW 127.0.0.1; 和任何其他 IP 才能访问这些网址。DENY all; 以阻止其他所有人。

location internal/ {
    DENY ALL;
    ALLOW 127.0.0.1;
}

http://nginx.org/en/docs/http/ngx_http_access_module.html

访问私网地址可以通过IP访问,也可以通过修改/etc/hosts文件将域指向私网地址

api.project.com 127.0.0.1