【发布时间】: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