수색…


express.js에서 CORS 사용

node.js는 종종 API를 작성하는 데 사용되기 때문에 CORS 설정은 다른 도메인에서 API를 요청할 수있게하려면 생명의 은인이 될 수 있습니다.

예를 들어, 더 넓은 구성 (모든 도메인의 모든 요청 유형에 대한 권한 부여)을 설정합니다.

Express를 초기화 한 후 server.js에서 다음을 수행하십시오.

// Create express server
const app = express();

app.use((req, res, next) => {
    res.header('Access-Control-Allow-Origin', '*');

    // authorized headers for preflight requests
    // https://developer.mozilla.org/en-US/docs/Glossary/preflight_request
    res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept');
    next();

    app.options('*', (req, res) => {
        // allowed XHR methods  
        res.header('Access-Control-Allow-Methods', 'GET, PATCH, PUT, POST, DELETE, OPTIONS');
        res.send();
    });
});

일반적으로 노드는 프로덕션 서버에서 프록시 뒤에 있습니다. 따라서 역방향 프록시 서버 (예 : Apache 또는 Nginx)가 CORS 구성을 담당합니다.

이 시나리오를 편리하게 적용하기 위해 개발 중에 node.js CORS 만 활성화하는 것이 가능합니다.

이것은 NODE_ENV 를 검사하여 쉽게 수행 할 수 있습니다.

const app = express();

if (process.env.NODE_ENV === 'development') {
    // CORS settings
}


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow