inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

03-CORS

section22 의 CORS 관련 질문

해결된 질문

413

장정욱

작성한 질문수 10

0

 안녕하세요!

해당 수업에서 CORS 에러가 발생한 이유를 다른 작성자 분께서 질문해주셨는데, 강사님께서 프론트엔드와 백엔드의 포트가 달라서 그렇다고 대답해주셨습니다.

 

백엔드에서는 app.listen을 통해 포트를 설정을 해주었지만, 프론트엔드에서는 포트를 설정한 적이 없는데 포트번호를 어떻게 알 수 있나요..?

설정하는 방법이 따로 있는건가요?

그리고 이전수업에서 한 컴퓨터에서는 프론트엔드와 백엔드의 포트번호가 달라야한다고 말씀하셨는데, 그렇다면 하나의 컴퓨터에서는 same origin이 될 수 없는건가요?

javascript node.js express docker tdd rest-api nestjs

답변 1

0

노원두

안녕하세요! 정욱님!

프론트엔드는 보통 html을 open-with-liveserver로 열게 되시면 5500번 포트로 실행되는 것을 확인하실 수 있어요!

혹은 리액트 등의 프론트엔드 라이브러리나 프레임워크를 사용하시면 관련된 포트 번호를 받으실 수 있습니다!

다음으로, 한 컴퓨터에서는 포트번호를 중복해서 사용할 수 없어요! 만약 same-origin을 만들고 싶다면, 해당 백엔드 서버에서 프론트엔드 html도 제공해 주면 됩니다!^^

이 방법은 약간 고전적인 방법이며, 프론트엔드 서버 없이, html 페이지 제공을 포함한 모든 것을 백엔드에서 제공(옛날에는 이 방식이 기본)한다고 보시면 되세요!

또 다른 방법으로는, 실제 포트는 프론트 서버 3000포트, 백엔드 서버 4000포트를 띄워놓고, 둘을 묶어주는 프록시서버 80 포트(nginx 등)를 앞단에 배치하시는 방법이 있어요!

프록시서버 관련하여서는 뒷부분 MSA 맛보기 수업에서 실습해보실 수 있습니다!^^

1

장정욱

답변 감사합니다!

한가지 더 질문을 드리고 싶은데요!

CORS()를 설정해놓는다면 모든 사이트에 대해 허용이되어 보안상의 문제가 되진 않나요?

CORS(내프론트엔드주소)로 설정을해서 내 브라우저 주소만 허용가능하도록 하면 괜찮을까요??

0

노원두

네! 정욱님!

말씀하신 방법이 일반적인 방법입니다!^^

그래프 ql 문서 사용할때 느낌표 남는거 어떻게 없애나요?

0

84

2

강의 전체 소스 코드를 받고싶습니다.

0

76

2

fontawesome 사용 문의

0

79

2

소스 코드 부탁드립니다~

0

85

2

깃 레포지터리 소스

0

87

2

커리큘럼12.css 정렬 에 나오는 과제 정답알고싶어요

0

74

2

10-01 Entity TypeOrmModule.forRoot 에 entities

0

89

3

강의 버전관련 문의입니다

0

103

2

Ubuntu 설치 관련

0

61

1

schema.gql 질문 드립니다.

0

51

1

서버 재실행시 Many to Many

0

102

3

input 관련 문의

0

90

2

Rest API 보다는 graphql이 주된 내용인데

0

131

2

강의 전체 소스코드 받을수있을까요?

0

156

1

도커볼륨 마운트 관련

0

127

2

findOne 타입스크립트오류

0

109

1

http => htrtps 호출 인증서 신뢰 오류

0

354

1

self-signed certificate in certificate chain 에러 발생

0

418

1

mongoose 설치 오류

0

142

1

특정 API, 특정 IP 허용 (단일경로에 CORS 활성화)

0

283

2

08-06

0

180

3

구조랑 패턴 관련해서 질문

0

125

2

mydocker

0

128

2

coolsms statuscode 2000 인데 전송안돼는 경우 확인.

0

156

1