2017-05-12 62 views
0

我試圖啓用CORS以允許多個域的白名單,上傳圖像並使用GET使用res.sendFile檢索圖像。具有憑證和多個域的白名單的CORS

這些都是基於我的CORS設置獨立工作,但我無法讓他們全部一起工作。

我使用的是Ubuntu,nginx,nodejs。

這是多個域名白名單和上傳什麼工作:

var whitelist = ['http://localhost:8100', 'https://somedomain.com']; 
var corsOptions = { 
origin: function (origin, callback) { 
if (whitelist.indexOf(origin) !== -1) { 
    callback(null, true) 
} else { 
    callback(new Error('Not allowed by CORS')) 
} 
app.use(cors(corsOptions)); 

但這種使用GET時檢索使用SENDFILE圖像失敗。

使用GET來檢索圖像的作品時,我設置了CORS像這樣:

app.use(cors({credentials: true, origin: 'http://localhost:8100'})); 

app.use(cors({credentials: true, origin: 'https://somedomain.com'})); 

但不允許用於多個領域。

我曾嘗試加入以下的corsOptions:

methods: 'GET,PUT,POST', 
credentials: true, 

這沒有奏效。

任何意見讚賞。

回答

0

好的,這似乎是工作,但我會appreaciate任何建議更好的方式來做到這一點 - 如果有的話。

var whitelist = ['http://localhost:8100', 'https://somedomain.com']; 
app.use(cors({credentials: true, origin: whitelist })); 

謝謝。