首页 > 解决方案 > 如何修复 php 和 stripe 中的 403 POST 错误

问题描述

我在不同的环境中有两台 GCP 虚拟机,一台在生产环境中,另一台在测试环境中,在测试环境中,我收到 200 条关于使用 PHP POST 请求的 Stripe 事件的消息,另一方面,我收到 403 消息在生产环境中使用 PHP 发布请求的 Stripe 事件。

https://drive.google.com/file/d/1smuF14D6XWA81ivlaXp51hxgFNkSG9yC/view?usp=sharing // 测试环境中 200 ok 消息的图像

https://drive.google.com/file/d/1KD9w5CalCMSGm7Ys-B3HgmH1fZaw2Wpt/view?usp=sharing // 生产时出现 403 错误的图像

注意:-由于 403 错误在生产环境中,我们没有获取有效负载数据

“我们没有在 $payload = @file_get_contents('php://input'); 中获取数据,并且我们得到的 Payload 是空的。使用的 php 和 API 的版本是正确的。allow_url_fopen 在 php 中为 ON。”

两个虚拟机的区别:-

在测试环境中是 vm 是:- 1.PHP + Apache2 已安装,2.未连接到任何负载均衡器,3.未配置 SSL,4.未设置云盔甲

在生产环境中 vm 是:- 1.PHP + Apache2 已安装,2.VM 已附加到负载均衡器,3.SSL 在 apache2 中配置,4.Cloud Armor 也在负载均衡器中设置

所以谁能告诉我在一台机器上收到 200 ok 消息而在另一台机器上收到 403 消息的原因。

标签: phpgoogle-cloud-platformstripe-payments

解决方案


推荐阅读