Я пытаюсь включить CORS, чтобы разрешить белый список нескольких доменов, загрузку изображений и использование GET для получения изображений с помощью res.sendFile.
Все они работают независимо на основе моей настройки 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'}));
or
app.use(cors({credentials: true, origin: 'https://somedomain.com'}));
Но это не позволяет использовать несколько доменов.
Я попытался добавить следующее в corsOptions:
methods: 'GET,PUT,POST',
credentials: true,
Это не сработало.
Любые советы приветствуются.