Reverse Proxy와 주요 nginx 웹서버 설정 익히기 3 문의요
586
작성한 질문수 17
안녕하세요?
혼자 해결 못한 부분이 나중에 해야지.. 해놓고 몇 년 째 괴롭혀서 다시 왔습니다.
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이 어떻게 작용하는건지 한국말로 정리가 안되는게
없어진다라는 표현을 들어서 그러는 것 같은데요
혹시 진짜 없어진다는 표현이 맞는건지요?
이게 몇 년 째 자다가도 꿈에나오고 궁금해 죽겠어서요
제가 아는 한국말로 정리가 안되네요..
이 정리 안되는 부분이 어디였는지 기어코 찾아내서 다시 내가 아는 한국말로 정의 내리려고 고심하다가 결국 정리가 안돼서 문의남깁니다.
답변 1
0
안녕하세요. 답변 도우미입니다. 질문이 사실 정확히... 이해를 저희가 한 것인지 조금 걱정이 되는데요. 최대한 의견을 드립니다.
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





