server.origins(fn)

  • fn (Function)
  • Returns Server

提供一个接受两个参数的函数origin:Stringcallback(error,success),其中success是一个布尔值,指示是否允许来源。如果success设置为false,则必须将错误作为字符串值提供,该字符串值将附加到服务器响应中,例如“Origin not allowed”。

潜在缺点:

  • 在某些情况下,当无法确定origin时,其值可能为*
  • 由于此功能将针对每个请求执行,因此建议尽快使此功能工作。(耗时不要太长)
  • 如果socket.ioexpress一起使用,CORS headers将仅对socket.io请求受影响。对于Express,可以使用CORS
  1. io.origins((origin,callback)=>{
  2. if(origin!=='https://foo.example.com'){
  3. return callback('origin not allowed',false)
  4. }
  5. callback(null,true)
  6. })