【问题标题】:AWS 403 forbidden from Cloudfront Worker FetchCloudfront Worker Fetch 禁止 AWS 403
【发布时间】:2021-10-22 05:06:59
【问题描述】:

使用从无服务器 Cloudflare Worker 获取到我自己托管在 AWS EC2 实例上的 dotnetcore api 时,我收到 403 禁止响应。 GET 和 POST。示例工作代码(也使用用户代理、接受等初始化标头进行测试,但结果相同):

fetch('http://54.xxx.xxx.xxx/test')

但是,对该 api ip url 的基本获取从本地 javascript 和一个简单的托管网页返回 200。以及邮递员和卷曲。

Cloudflare worker 也可以毫无问题地获取其他 api。

fetch('http://jsonplaceholder.typicode.com/posts')

最后我不得不改用 AWS DNS url。

fetch('http://ec2-54-xxx-xxx-xxx.us-west-1.compute.amazonaws.com/test')

此 AWS elasticbeanstalk 设置尽可能基本。具有默认安全组的单个 t3a.nano 实例。我没有看到任何有关使用 IP 与 DNS url 的文档,但它们应该解析为相同的 IP。此外,我没有看到在 cloudflare 方面处理 DNS 问题的任何选项。

stackoverflow 上也没有类似的问题。

所以在经历了很多痛苦之后,我只是在这里记录解决方案。

【问题讨论】:

    标签: amazon-web-services cloudflare-workers


    【解决方案1】:

    在亚马逊实例摘要下,您可以找到“公共 IPv4 地址”和“公共 IPv4 DNS”。

    从 Cloudflare 工作人员使用公共 dns 进行提取工作

    fetch('http://ec2-54-xxx-xxx-xxx.us-west-1.compute.amazonaws.com/test')
    

    使用公共 ip 获取返回状态 403,statusText "Forbidden"

    fetch('http://54.xxx.xxx.xxx/test')
    

    【讨论】:

      猜你喜欢
      • 2021-01-31
      • 2020-08-10
      • 2016-04-25
      • 1970-01-01
      • 2016-04-23
      • 2018-11-09
      • 2017-12-23
      • 2020-07-20
      • 2021-07-09
      相关资源
      最近更新 更多