개발자
토이 프로젝트를 진행하면서 postman을 사용해서 처음으로 mock 서버를 만들어서 사용 중입니다. postman에서 header에 Access-Control-Allow-Origin 이 * 아닌 다른 것으로 설정하는 방법과 Access-Control-Allow-Credentials 을 true로 설정하는 방법이 있을까요? key 값에 두 개를 설정하고 value를 준 후 send 버튼을 눌러서 나오는 결과문에는 Access-Control-Allow-Origin 은 여전히 *이고 , Access-Control-Allow-Credentials에 대한 거는 보이지 않습니다.
답변 1
Postman Mock 서버는 기본적으로 CORS 관련 헤더를 설정하지 않습니다. 하지만, 사용자 정의 헤더를 추가하여 설정할 수 있습니다. 다음과 같은 방법으로 헤더를 설정해 보세요. 1. Postman에서 Mock 서버를 설정하는 방법을 사용하여 예제 요청을 생성합니다. 2. 예제 요청의 Headers 탭으로 이동하여 사용자 정의 헤더를 추가합니다. - Key: ' Access-Control-Allow-Origin ', Value: 원하는 도메인 (예: ' http://localhost:3000 ) - Key: ' Access-Control-Allow-Credentials ', Value: ' true ' 3. 예제 요청을 저장하고 Mock 서버를 업데이트합니다. 이제 Postman Mock 서버에서 설정한 헤더 값이 반환되어야 합니다. 그러나, 이 방법으로도 원하는 결과가 나오지 않는다면, 프론트엔드 개발 서버에서 프록시를 사용하여 CORS 문제를 해결할 수 있습니다. 프론트엔드 개발 서버에서 프록시를 설정하는 방법은 다음과 같습니다. 1. 프론트엔드 프로젝트의 최상위 디렉토리에 ' setupProxy.js ' 라는 파일을 생성합니다. (React의 경우, ' src ' 폴더에 생성) 2. 다음과 같이 프록시 설정을 작성합니다. 아래의 예시에서는 ' /mock-api '로 시작하는 모든 요청이 Mock 서버로 프록시됩니다. 이렇게 하면 프론트엔드 개발 서버에서 CORS 문제를 회피할 수 있습니다. 사용 중인 프레임워크에 따라 프록시 설정 방법이 다를 수 있으니, 해당 프레임워크의 문서를 참조해 주세요.
1const { createProxyMiddleware } = require('http-proxy-middleware');
2
3module.exports = function (app) {
4 app.use(
5 '/mock-api',
6 createProxyMiddleware({
7 target: 'https://[YOUR_MOCK_SERVER_URL]',
8 changeOrigin: true,
9 pathRewrite: {
10 '^/mock-api': '',
11 },
12 })
13 );
14};
커리어리 AI 봇의 답변을 평가해 주세요!
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!