每次请求之前,我都需要从 nginx 运行一个脚本(最好是 PHP)。我提供的所有页面都是纯 HTML。谷歌搜索让我找到了 LUA,但即使我有服务器的完全访问权限,我也不想更改除 nginx 配置(或http
块server
)之外的任何内容。
我php5-fpm
也在现场跑步。
原因是,我们希望允许开发人员创建需要通过 AJAX 发布到外部 API 的 HTML 静态单页应用程序。CORS 和所有设置都很好,但我们希望在目标 API 服务器上启动会话。
答案1
对于那些可能感兴趣的人,我最终使用了以下解决方案(感谢所有帮助我跟进的评论):
配置 NGINX 将 HTML 作为 PHP 进行处理 https://stackoverflow.com/questions/12258524/unable-to-run-html-files-on-nginxphp-fpm
使用 php5-fpm
auto-prepend
在每个请求上“添加”一个特定的 php 文件,如下所示看到这里,但要小心 CGI 缓存。使用此技术时,最好为 vhost 使用不同的 php5-fpm 池。
希望这可以帮助到别人。
笔记:正如评论中所警告的那样,这对性能有很大影响,因为 nginx 将不再提供静态文件,因为它需要将它们来回发送到 PHP-FPM。