为CORS配置nginx和Rails应用程序的最佳方法是什么?
nginx文件中的所有配置(选项1)
server {
listen 5500;
server_name someserver;
root /opt/current/public;
add_header Access-Control-Allow-Origin http://anotherserver;
add_header Access-Control-Allow-Methods 'GET, POST, PUT, DELETE, OPTIONS';
add_header Access-Control-Allow-Headers '*';
}
config / application.rb文件中的所有配置(选项2)
config.middleware.insert_before 0, Rack::Cors do
allow do
origins 'anotherserver'
resource '*', :headers => :any, :methods => [:get, :post, :options, :patch, :delete]
end
end
选项3是添加两种配置
所有3个选项都有问题,因为我有一些由nginx提供服务的assests文件,还有其他REST调用。使用选项1,常规休息呼叫不起作用。使用选项2时,仅加载资源文件,而选项3则会抱怨原点设置了两次。