我正在构建一个端点(比如说/v1/getdata
)。此端点将提供从ajax和服务器到服务器的调用。由于此端点的起源不同于将使用它的网站(简称http://www.t.com
),因此我需要为ajax调用实现CORS。我知道每当请求在其Access-Control-Allow-Origin: *
标头中有http://www.t.com
时,我必须向响应添加Origin
标头,因此浏览器将接受来自跨源的ajax调用。
但服务器到服务器的呼叫不会发送Origin
标头。对此最好的方法是什么?我应该手动将Origin
标头添加到服务器的请求中吗?
答案 0 :(得分:1)
如果您公开API,则只需将Access-Control-Allow-Origin: *
添加到所有回复中。
如果您只将其提供给某些网站,那么您应该使用的逻辑是:
Is the Origin request header present?
If not, don't add an Access-Control-Allow-Origin response header
Is the Origin one that is on your whitelist of acceptable sites?
If not, don't add an Access-Control-Allow-Origin response header
Otherwise, add an Access-Control-Allow-Origin response header
with a value that matches the Origin request header