목록DevOps/Reverse_proxy (4)
나의 잡다한 노트 및 메모
관련해서 내장 변수를 알아보고 싶다면 이 링크를 참고하자https://nginx.org/en/docs/http/ngx_http_core_module.html Module ngx_http_core_moduleModule ngx_http_core_module Directives Syntax: absolute_redirect on | off; Default: absolute_redirect on; Context: http, server, location This directive appeared in version 1.11.8. If disabled, redirects issued by nginx will be relative. See also server_nanginx.org $host, $remote_a..
리버스 프록시란 무엇인가?리버스 프록시(Reverse Proxy)는 클라이언트와 서버 사이에 위치하여 클라이언트의 요청을 받아 실제 서버로 전달하고, 서버의 응답을 다시 클라이언트에게 중계하는 중간자 서버입니다일반 프록시(포워드 프록시)가 내부 클라이언트가 외부로 나가는 요청을 대리하는 것이라면, 리버스 프록시는 외부 클라이언트의 요청을 받아 내부 네트워크의 서버로 전달한다는 점이 다릅니다클라이언트 입장에서는 응답을 프록시로부터 받기 때문에 내부 서버의 존재나 주소를 알 수 없으며, 마치 프록시 서버가 웹 서버인 것처럼 동작합니다 리버스 프록시 개념도: 다수의 외부 클라이언트 요청이 인터넷을 거쳐 리버스 프록시 서버로 전달되고, 프록시는 이를 내부의 실제 서버들로 포워딩합니다클라이언트는 프록시와만..
1. 요청(request) 리라이트요청 리라이트는 클라이언트가 보낸 HTTP 요청을 받아서, 백엔드 서버(예: Jenkins)에 전달할 때 필요한 경우 일부 HTTP 헤더를 수정하거나 추가하는 과정을 말합니다.예를 들어, 클라이언트가 Host: nice.name 으로 요청을 보내면, 프록시가 이 정보를 Jenkins에 전달할 때 그대로 전달하거나, X-Forwarded-* 헤더로 전달하여 Jenkins가 클라이언트의 원래 요청 정보를 알 수 있게 합니다.잘못 구성된 요청 리라이트는 대개 페이지 자체가 전혀 표시되지 않는 등의 명백한 문제를 일으킵니다. 2. 응답(response) 리라이트의 필요성리버스 프록시의 가장 어려운 부분은 응답에서의 리라이트인데, 특히 리다이렉트 상황에서 발생합니다.옵션 1: 응..
1. proxy_set_header Host $host;목적:백엔드 서버에 전달되는 Host 헤더를 프록시가 수신한 원래의 호스트(도메인) 값으로 설정합니다.작동 방식:$host는 클라이언트가 요청 시 사용한 호스트 이름(예: example.com) 또는 IP 주소를 의미합니다.이를 통해 백엔드 서버는 원래 클라이언트가 어떤 호스트로 요청했는지를 정확히 인지할 수 있습니다.백엔드 서버가 가상 호스팅(도메인별 설정) 등을 사용하는 경우, 올바른 도메인 정보를 알아야 정상적으로 동작합니다.2. proxy_set_header X-Real-IP $remote_addr;목적:백엔드 서버가 클라이언트의 실제 IP 주소를 알 수 있도록, X-Real-IP 헤더에 클라이언트의 원 IP를 전달합니다.작동 방식:$remo..