需要在AWS CloudFront for Parse Server

时间:2016-07-25 08:48:48

标签: amazon-web-services caching parse-platform amazon-cloudfront

我正在AWS CloudFront后面运行解析服务器,我仍在试图弄清楚最佳配置是什么。目前我已将CloudFront行为配置为:

  • 允许的HTTP方法:GET,HEAD,OPTIONS,PUT,POST,PATCH,DELETE
  • 缓存的HTTP方法:GET,HEAD(默认缓存)
  • 转发标题:白名单
    • 接受语言
    • 内容类型
    • 主机
    • 来源
    • Referer的
  • 对象缓存:自定义:
    • 最小TTL:0
    • 最大TTL:31536000
    • 默认TTL:28800
  • 转发Cookie:全部

我的GET请求(使用解析REST API)似乎是按照此配置按预期缓存的。使用解析JS SDK进行的所有请求似乎都是通过POST调用的,并在浏览器控制台中产生504错误:

No 'Access-Control-Allow-Origin' header is present on the requested resource.

由于某些原因,这些请求仍然由解析服务器填满,例如,保存对象仍然将它们存储到我的MongoDB中,即使存在此访问控制原因错误。

1 个答案:

答案 0 :(得分:0)

对此的修复不是通过云前端,而是来自Parse Server端。

在此文件/src/middlewares.js中添加以下代码,云将不会通过该异常。

var allowCrossDomain = function(req, res, next) {
  res.header('Access-Control-Allow-Origin', '*');
  res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');
  res.header('Access-Control-Allow-Headers', 'X-Parse-Master-Key, X-Parse-REST-API-Key, X-Parse-Javascript-Key, X-Parse-Application-Id, X-Parse-Client-Version, X-Parse-Session-Token, X-Requested-With, X-Parse-Revocable-Session, Content-Type');