当我基于 DynDNS url 名称而不是 IP 发出 axios 请求时,为什么会出现 CORS 错误?

Why do I get CORS error when I make axios request based on DynDNS url name and not with IP?

我有一个带有 Node.js 运行 的覆盆子。 CORS 已安装并配置。我已经设置了端口转发,但由于 IP 不断变化,我在 DynDNS 提供商处注册了。

我将 React.js 与 Axios 一起用于 localhost:8080 上的 API 请求。

有趣的是,如果我的请求基于(例如)

const ROOT_URL = 'http://81.23.563.80:5000/';

它每 24 小时不断变化,然后 CORS 模块正在执行它的工作,我可以执行我的请求。但如果我想做对并向

提出我的要求
const ROOT_URL = 'http://mydyndnsurl.provider.com/';

然后我会得到典型的错误信息:

XMLHttpRequest cannot load http://mydyndnsurl.provider.com/. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access.

有人解决这个问题吗?

您还需要在ROOT_URL中包含端口号:

const ROOT_URL = 'http://mydyndnsurl.provider.com:5000/';