본문 바로가기
T.I.L. :: Today I Learned/항해99 14기 본과정

Day 62. 죽지도 않고 또 왔네 CORS, Proxy란?

by DaSsom 2023. 6. 3.

어제 다 해결을 했다고 생각했는데, 기능 구현을 위해 서버를 내렸다 - 올렸다 반복을 하다가 갑자기 프론트에서 들려오는 말... 

 

" CORS가 다시 터졌는데요"

 

......

아 제발 그것만은 ㅠㅠㅠㅠㅠㅠㅠ 도대체 뭘까 또 한참 삽질하다가 결국 다른 분께 S.O.S..! 우리의 문제는 CORS 설정을 이곳 저곳에서 해주고 있는게 문제였다. 1차적으로 스프링 부트 파일에서, 또 nginx 프록시 서버에서 설정을 해주니까 요청이 됐다 안됐다 막혔다가 다시 풀렸다가 반복을 하는 것이었다. 그래서 nginx에서 설정해줬던 cors 내용을 다 지워주고 동작하니 다행히도 잘 되는 우리의 서버...!!!

 

그래서 오늘은 무지성으로 일단 갖다 붙여넣었던 프록시 서버에 대해 조금 더 탐구해보았다. 

 

우리의 경우 nginx를 프록시 서버처럼 사용했으나 무용지물이 된건가..

 

우선 디자인 패턴에서 보았던 '프록시 패턴'의 프록시와 '프록시 서버'의 프록시는 조금 다른 개념인듯 하다. 

일단 지선생이 이렇다고함..

프록시 서버는 클라이언트와 서버 사이에서 대리로 통신을 수행해준다. 왜 쓰냐면? 캐시 데이터를 사용하여 데이터 전송 시간을 줄여주고 트래픽을 줄일 수 있음, 그리고 프록시 서버가 중간에서 IP를 숨겨줌으로써 보안의 역할도 함. 또한 접속을 우회할 수 있는 길을 만들어준다고 한다. 

 

이러한 프록시 서버에는 Forward 프록시, Reverse 프록시, open 프록시라는 종류가 있다고 한다.

- Forward 는 아무래도 순방향을 뜻하는 듯. 클라이언트에서 직접 요청을 하는 것이 아니라 프록시 서버를 거쳐서 요청을 보내는 방식 (기업에서 많이 쓰임)

- Reverse 는 그 반대겠지. 클라이언트에서 요청을 보냈을 때 서버에서 프록시 서버를 거쳐서 응답을 보내는 방식이다.

- Open 은 모든 인터넷 사용자가 접근 가능한 프록시 서버임 말그대로 open됨.

 

 

아.. 여기서 고민

그럼 우리 프로젝트는 프록시 서버를 어떤 방식으로 적용하고 있는 것일까..?

 

 

 

 

https://liveyourit.tistory.com/251

 

[네트워크] 프록시 서버란? 원리와 사용 목적

프록시(Proxy) 서버란? 프록시 서버란 클라이언트가 자신을 거쳐 다른 네트워크에 접속할 수 있도록 중간에서 대리해주는 서버를 말한다. 서버와 클라이언트 사이에서 대리로 통신을 수행해주는

liveyourit.tistory.com

https://fomaios.tistory.com/entry/Network-%ED%94%84%EB%A1%9D%EC%8B%9C-%EC%84%9C%EB%B2%84%EB%9E%80-feat-%ED%95%84%EC%9A%94%ED%95%9C-%EC%9D%B4%EC%9C%A0-What-is-a-Proxy-server

 

[Network] 프록시 서버란? (feat. 필요한 이유) (What is a Proxy server?)

Proxy란? Proxy는 사전적 의미로 "대리" 하는 것을 뜻한다. 컴퓨터 과학적인 의미로는 프로토콜 상에서 무엇인가를 대신하는 것을 뜻한다. Proxy 서버 프록시 서버는 클라이언트에서 서버로 접속을

fomaios.tistory.com

https://velog.io/@jangwonyoon/Proxy-Server%ED%94%84%EB%A1%9D%EC%8B%9C-%EC%84%9C%EB%B2%84%EB%9E%80

 

Proxy Server(프록시 서버)란?

프록시 서버는 클라이언트가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해주는 컴퓨터 시스템이나 응용프로그램을 말합니다. 서버와 클라이언트 사이에 중계기 로서

velog.io