2017-03-07 1 views
0

JavaScript/AJAX에서 호출하는 끝점 수가 많은 노드 응용 프로그램이 있습니다. 이전에 JavaScript 파일과 동일한 도메인에서 호스팅되는 PHP 프록시를 통해 교차 출처 자원 공유 문제를 해결했지만 중급 인력을 줄이고 AJAX에서 노드로 직접 이동하려고합니다.특정 끝점에서 CORS를 사용하도록 Node.js 응용 프로그램 구성

지금 통해 매우 광범위 노드 응용 프로그램에 CORS를 활성화 :

app.use(function(req, res, next) { 
    res.header("Access-Control-Allow-Origin", "*"); 
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); 
    next(); 
}); 

하지만 내가 특정 도메인에 연결된 상태로 유지하고 싶은 사람을 포함하여, 모든 엔드 포인트를 노출한다. 끝점마다 CORS를 구체적으로 설정할 수 있습니까? 대신이의

답변

1

:

app.use(function(req, res, next) { 
    res.header("Access-Control-Allow-Origin", "*"); 
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); 
    next(); 
}); 

사용할 수 :

app.use('/some/endpoint', function(req, res, next) { 
    res.header("Access-Control-Allow-Origin", "*"); 
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); 
    next(); 
}); 

당신이 방법을 통해, 예를 들어, 더 많은 제어가 필요한 경우 CORS가 GET을 원하지만 PUT이나 그와 같은 것을 원하지 않는다면 헤더를 추가하기 전에 요청 객체를 검사 할 수도 있습니다.

+0

감사합니다. 에 딱 맞다 ;-) – HomerPlata