为什么从 Azure 应用服务托管的 Laravel 应用程序请求 WordPress API 时会收到 403 错误?

问题描述 投票:0回答:1

我有一个托管在 Azure 应用服务上的 Laravel 应用程序。当我的 Laravel 应用程序尝试从 WordPress API 获取数据时,它收到 403 Forbidden 错误。以下是一些关键细节:

WordPress API 可访问性:

  • WordPress API 端点可公开访问。我可以直接从浏览器访问它并获得带有帖子的 JSON 响应。
  • 当我在不同的托管提供商(不是 Azure)上托管 Laravel 应用程序时,API 可以正常工作。

问题详情:

  • 仅当 Laravel 应用程序托管在 Azure 应用服务上时才会出现此问题。从 Azure,对 WordPress API 的请求返回 403 Forbidden 错误。
  • WordPress API 不需要身份验证或 IP 限制,因为它是公开访问的。

采取的故障排除步骤:

  • 确认该 API 可在其他托管环境、本地环境、浏览器请求中工作。
  • 检查是否不存在 CORS 问题,因为端点可从任何来源公开访问。
  • 确保 Azure 上的 Laravel 应用程序在网络和安全设置方面配置正确。

其他详细信息: Laravel 版本:10 WordPress 版本:6.5.5 Azure 应用服务配置:没有自定义安全规则的基本设置。只需在 CORS 配置中设置我的 WordPress 站点即可。

laravel 中的代码:

public function getNews()
{
    $response = Http::get('https://blog.MY-DOMAIN.com/wp-json/wp/v2/posts', [
        'per_page' => 3,
        '_embed' => true
    ]);

    return $response->json();
}
laravel azure azure-web-app-service http-status-code-403 wordpress-rest-api
1个回答
0
投票

我意识到问题源于 Cloudflare,我在问题中忘记提及。当我在我的博客子域上禁用代理时,它就可以工作。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.