CORS#

默认情况下,PostgREST设置高度许可的跨域资源共享,这就是它接受来自任何域的AJAX请求的原因。可以使用以下命令配置此行为 服务器-CORS-允许的来源

它还可以处理 preflight requests 由浏览器完成,并使用返回的 Access-Control-Max-Age: 86400 标题(86400秒=24小时)。这对于减少后续请求的延迟很有用。

A POST 印前检查请求如下所示:

curl -i "http://localhost:3000/items" \
  -X OPTIONS \
  -H "Origin: http://example.com" \
  -H "Access-Control-Request-Method: POST" \
  -H "Access-Control-Request-Headers: Content-Type"
HTTP/1.1 200 OK
Access-Control-Allow-Origin: http://example.com
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE, OPTIONS, HEAD
Access-Control-Allow-Headers: Authorization, Content-Type, Accept, Accept-Language, Content-Language
Access-Control-Max-Age: 86400

允许的原点#

通过以下配置设置,PostgREST将接受来自域的CORS请求 http://example.comhttp://example2.com

server-cors-allowed-origins="http://example.com, http://example2.com"