首页 > 解决方案 > 使用绝对 URL 获取对 API 的调用

问题描述

我最近正在开发一个网站,其中的设置是:一个静态 React 包处理 FE 逻辑(由 Cloudfront 提供),以及一个运行 Flask 应用程序的 Docker 容器,该容器在 Elastic Beanstalk 上进行侦听。

在 React 代码中,我fetch()使用 API 后端的绝对路径进行调用(请参阅fetch(https://mywebsitehere.com/api/cool_endpoint.

出于某种原因,在生产和访问 AWS 服务器时(通过 Cloudfront 和 EB 之间的一些重定向行为),我不断得到ERR_CONNECTION_REFUSED!我不知道为什么。奇怪的是,当我https://mywebsitehere.com/api/cool_endpoint直接通过浏览器点击时,我的 API 工作得很好。

最终我发现解决方案是添加www到绝对 URL。一切正常,但我仍然不知道为什么。

它有效,但我想了解发生了什么。chrome会自动填充www吗?原始中缺少 是否www导致提取机制无法解析,从而导致ERR_CONNECTION_REFUSED?

让我知道你们的想法!

标签: javascriptamazon-web-servicesdnsfetch

解决方案


我从最近的 Reddit 线程中的理解是,https://www.example.com这与 不同https://example.com,如果一个重定向到另一个,那只是因为它已被加载到HSTS预加载列表中,专门用于创建该重定向。

据推测,您访问的网站没有设置。


推荐阅读