2017-05-12 5 views
0

CORS가 여러 도메인의 허용 목록을 허용하고 이미지를 업로드하고 GET을 사용하여 res.sendFile을 사용하여 이미지를 검색하도록 허용하려고합니다.CORS에 자격 증명과 여러 도메인의 허용 목록이 있습니다

이들은 모두 CORS 설정을 기반으로 독립적으로 작동하지만 모두 함께 작동시킬 수는 없습니다.

나는 우분투, 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)); 

을 그러나 sendfile을을 사용하여 이미지를 검색 할 수 GET을 사용하는 경우이 오류가 발생합니다.

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

또는

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

그러나 여러 도메인을 허용하지 않습니다 이미지를 검색 할 수 GET을 사용하여

내가 너무 좋아 CORS를 설정할 때 작동합니다.

나는이 (가) corsOptions에 다음과 같은 추가 시도 : 작동하지 않았다

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

.

감사의 말.

답변

0

좋아,이 작동하는 것하지만 더 좋은 방법에 대한 조언을 appreaciate 것입니다.

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

감사합니다.