inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, 배포까지) [풀스택 Part3]

Reverse Proxy와 주요 nginx 웹서버 설정 익히기 3 문의요

586

mnmndevlol

작성한 질문수 17

0

안녕하세요?

 

혼자 해결 못한 부분이 나중에 해야지.. 해놓고 몇 년 째 괴롭혀서 다시 왔습니다.

 

Reverse Proxy와 주요 nginx 웹서버 설정 익히기 3

 

6분 35초에

13.209.45.243/blog/test.html이

프록시패스를 통해서 nginx에 접속이 되는데

그 때

주소가 13.209.45.243 이고

$1 부분 때문에

13.209.45.243/test.html 이렇게 되는거라고

즉 /blog가 없어지는거라고 하셨는데요

 

그런데 왜 결국 접속은

13.209.45.243/test.html 이렇게 하면 안되고

주소/blog/

주소/comm/

이렇게 해야 하나요?

물론 test.html은 없고 예를 들어 설명하신거지만

 

$1이 어떻게 작용하는건지 한국말로 정리가 안되는게

없어진다라는 표현을 들어서 그러는 것 같은데요

혹시 진짜 없어진다는 표현이 맞는건지요?

 

이게 몇 년 째 자다가도 꿈에나오고 궁금해 죽겠어서요

제가 아는 한국말로 정리가 안되네요..

 

이 정리 안되는 부분이 어디였는지 기어코 찾아내서 다시 내가 아는 한국말로 정의 내리려고 고심하다가 결국 정리가 안돼서 문의남깁니다.

네트워크 linux docker

답변 1

0

잔재미코딩 DaveLee

안녕하세요. 답변 도우미입니다. 질문이 사실 정확히... 이해를 저희가 한 것인지 조금 걱정이 되는데요. 최대한 의견을 드립니다.

Reverse Proxy와 관련된 nginx 설정에 대한 질문을 이해했습니다. $1은 정규 표현식에서 사용되는 캡처 그룹을 나타냅니다. 이것이 어떻게 동작하는지에 대한 설명을 한국어로 제공드리겠습니다.

먼저, nginx 설정에서 특정 경로를 프록시 패스로 리디렉션하거나 변환할 때 정규 표현식을 사용할 수 있습니다. 이때, ()를 사용하여 캡처 그룹을 정의할 수 있습니다.

예를 들어서, 아래와 같은 설정이 있다고 가정해봅시다.

location ~ ^/blog/(.*)$ {

    proxy_pass http://backend/$1;

}

여기서 ^/blog/(.*)$는 "/blog/"로 시작하고 그 뒤에 어떤 문자열이든 오는 URL을 매치합니다. (.*?) 부분은 캡처 그룹이며, 이 캡처 그룹은 해당 위치의 문자열을 잡아둡니다. 그리고 이 값을 $1로 참조할 수 있습니다.

따라서 13.209.45.243/blog/test.html로 요청이 들어왔을 때 ^/blog/(.*)$의 정규 표현식에 의해 test.html이 캡처되고, proxy_pass 지시어에서 $1로 이 값을 참조합니다. 그래서 실제로 백엔드에는 http://backend/test.html 요청이 전달되게 됩니다.

즉, "없어진다"라는 표현은 /blog/ 경로 부분이 proxy_pass에서는 사용되지 않는다는 의미입니다. 그 대신 $1로 캡처된 값을 사용하여 백엔드 서버에 전달됩니다.

13.209.45.243/test.html로 직접 접속하면 안 되는 이유는 nginx 설정에서 ^/blog/(.*)$라는 패턴만을 감지하기 때문입니다. 즉, /blog/가 없으면 해당 설정에 의해 처리되지 않습니다.

정리하면, $1/blog/ 뒤의 URL 부분을 참조하여, 이 값을 백엔드 서버로 전달하는 데 사용됩니다. /blog/는 실제 백엔드 요청에서는 제거되어 사용되지 않습니다.

이렇게 이해하시면 어떠실까요?

감사합니다.

25년도 12월 docker compose 설치 방법이 레거시된 상황

0

103

1

학습자료는 구글드라이브에서만 볼 수 있나요?

0

82

1

강의 외 개발자 진로 관련 질문입니다!

0

66

1

왜 전 오류가 뜨나요??

0

98

1

학습자료가 없어요

0

144

1

강의가 재생이 되지 않습니다.

0

99

1

풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, 배포까지) [풀스택 Part3]

0

69

1

도커와 최신 서버 기술 수료시 웹 배포

0

152

1

개인키, 공인 인증서 폴더

0

138

1

워드프레스가 어렵네요 ㅠㅠㅠ

0

167

2

도커 활용하기 (주피터 노트북 서버 만들어보기)에서 질문있습니다

0

154

1

안녕하세요 배포 관련 질문이 있습니다.

0

139

1

ec2 인스턴스에서 우분투 버전관련 문의입니다

0

213

1

주피터 노트북 서버 만들어보기_pymysql 설치관련

0

258

1

window 데스크탑에 도커 사용하려고 하는데요~

0

170

1

안녕하세요 aws 사용 안해도 되나요 ?

0

186

1

/usr/local/apache2/htdocs 경로관련

0

224

2

섹션 16, 17 docker-compose up -d 명령 실행 시 다운로드 속도 느려짐

0

225

1

도커 컨테이너와 이미지 조사하기-docker run 실행시 컨테이너 생성 안됨 오류

0

453

1

mysql 접속 port 개방할 때 궁금한 점이 있습니다.

0

161

1

강의 소개에 나오는 강의자료? 들은 어떻게 받을수 있나요?

0

202

1

[인프런-수업자료요청] e북 자료(구글) 권한 요청드립니다 !

0

148

1

AWS VPC 과금 문제(탄력적 IP)

0

389

2

강의 섹션2 이후부터 강의화면 안보이는 이슈있습니다.

0

190

1