我在AWS Beanstalk上部署了Nodejs应用程序。我还部署了一个AWS Elastic Cache(Redis),用于缓存来自AWS Beanstalk的API响应。
简而言之,我对API的请求检查数据是否存在于缓存中,如果存在,则从缓存中返回数据,否则从数据库中返回并将其保存在缓存中。
我在Nodejs应用程序的CORS配置中允许有多个来源,而我在React中构建的静态网站托管在S3上
现在,我第一次从Web应用程序(产品url)发送请求时,请求正在处理,并且正在为我提供数据。第二次,如果我是从暂存Web应用程序发送请求,这给了我CORS问题。错误是:
CORS策略已阻止从源“ http://api.xxx.com/v1/countries”访问“ http://xxx-staging.xxx.com.s3-website-us-west-2.amazonaws.com”处的XMLHttpRequest:“ Access-Control-Allow-Origin”标头的值为“ https://xxx.xxx.com” '不等于提供的原点。
我在Nodejs应用程序的允许域列表中都配置了这两个域。
现在,如果我重新启动Elastic Cache节点,然后从Staging Web应用程序发出请求,则该请求正在处理中,但是prod Web应用程序的下一次调用将发出CORS问题。
我是否需要在Elastic Cache上配置某些内容以允许多个来源?我有一种感觉,它是在缓存源,是第一次发出请求。
我们将不胜感激任何帮助。